#ruby-on-rails #machinist
#ruby-on-rails #машинист
Вопрос:
Я использую чертежи машиниста в разработке.
из development.rb:
config.after_initialize do
require 'spec/support/blueprints'
puts "********* blueprints loaded! *********"
end
это отлично работает в консоли.
michael-schwabs-macbook-pro:medtext mschwab$ rails c
********* blueprints loaded! *********
Loading development environment (Rails 3.0.7)
irb(main):001:0> d = Doctor.make
=> #<Doctor id: 101, first_name: nil, ....
Когда я запускаю сервер, мои контроллеры знают, что мои модели реагируют на #make, но они не знают, что схемы элементов определены.
(rdb:70) Doctor.respond_to?(:make)
true
(rdb:70) Doctor.make
RuntimeError Exception: No blueprint for class Doctor
Это странно, потому что утверждение
require 'machinist/active_record'
находится в файле blueprints.rb. Кроме того, инструкция «загружено!» распечатывается в журнале моего сервера.
=> Ctrl-C to shutdown server
********* blueprints loaded! *********
=> Debugger enabled
Комментарии:
1. В настоящее время я использую Ruby 1.8.7
2. На данный момент я добился этого, установив load ‘./spec/ support /blueprints.rb’ в верхней части моего контроллера blueprints (требовать не сработало, просто загрузите)