我正在尝试向我的seeds.rb添加一个方法,这样我就不必编写一堆冗长的代码。但是,根据create_deliverable
方法的位置,我在运行时会收到两条错误消息之一db:setup
。
当方法在调用之前
耙中止!调用私有方法“create_deliverable”#
当方法在调用之后
耙中止!# 未定义的方法“create_deliverable”
不能在seed.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