Я пытаюсь добавить метод к моему seeds.rb, так что мне не нужно писать кучу подробного кода. Однако в зависимости от размещения метода create_deliverable
я получаю одно из двух сообщений об ошибке при запуске db:setup
.Использование метода в seeds.rb в Ruby On Rails
Когда метод перед вызовом
рейка прервана! частный метод '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 не определяет классы, поэтому публичные и частные не имеют значения. Важно то, что вы определяете метод перед его исполнением. –