我想向我的seeds.rb添加一个方法,这样我就不必编写一堆冗长的代码。但是,根据create_deliverable
方法的位置,运行db:setup
时会出现两条错误消息之一。在Ruby On Rails的seeds.rb中使用方法
当方法调用之前
耙中止! 私有方法 'create_deliverable' 呼吁#
当
耙中止方法是调用后! 未定义的方法`create_deliverable”为#
是它无法使用方法seeds.rb?我以某种方式错误地调用了方法(我尝试过使用和不使用self.
)?
方法
def create_deliverable(complexity, project_phase_id, deliverable_type_id)
Deliverable.create(:name => (0...8).map{65.+(rand(25)).chr}.join,
:size => 2 + rand(6) + rand(6),
:rate => 2 + rand(6) + rand(6),
:deliverable_type_id => deliverable_type_id,
:project_phase_id => project_phase_id,
:complexity => complexity)
end
长途区号
@wf_project.project_phases.each do |phase|
DeliverableType.find_by_lifecycle_phase(phase.lifecycle_phase_id).each do
|type|
self.create_deliverable("Low", type.id, phase.id)
self.create_deliverable("Medium", type.id, phase.id)
self.create_deliverable("High", type.id, phase.id)
end
end
seeds.rb没有定义任何类,所以公共和私人无关紧要。重要的是您在执行该方法之前先定义该方法。 – 2017-08-17 15:48:08