Mój kod:Niezdefiniowany metoda dla asocjacji belongs_to
class User < ActiveRecord::Base
belongs_to :university
end
class University < ActiveRecord::Base
has_many :users, dependent: :destroy
end
i mój model Użytkownik ma atrybut university_id.
Jeśli robię University.find(1).users
uzyskać listę użytkowników, ale jeśli to zrobię User.find(1).university
(i sprawdziłem, że university_id nie jest zerowa tutaj) uzyskać:
NoMethodError: undefined method `university' for #<User:0x00000003859fc8>
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/activemodel-3.0.10/lib/active_model/attribute_methods.rb :392:in `method_missing'
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.0.10/lib/active_record/attribute_methods. rb:46:in `method_missing'
from (irb):14
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:44:in`start'
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands/console.rb:8:in start'
from /home/mari/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.10/lib/rails/commands.rb:23:in
`<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Co robię źle? Mam inne modele i działają dobrze. Jakieś sugestie? Dzięki z góry
To dziwne, co się dzieje, gdy wpiszesz ** User.new.university **? –
Po prostu otrzymuję "zero" – marimaf
Kolumna w bazie danych istnieje? Zwykle jest to przyczyną tego błędu. – Eraden