6

私のコード:

class User < ActiveRecord::Base
    belongs_to :university
end

class University < ActiveRecord::Base
  has_many :users, dependent: :destroy
end

私のモデル User にはUniversity_id属性があります。

そうする場合University.find(1).users、ユーザーのリストを取得しますが、そうする場合User.find(1).university(そして、university_id がここで nil ではないことを確認しました)、次のようになります。

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>'

私は何を間違っていますか?私は別のモデルを持っていますが、それらは問題なく動作しています。助言がありますか?前もって感謝します

4

2 に答える 2

8

私はまだコメントできないので、答えを書きます:

どういうわけか、 User モデルの belongs_to :university が認識されていません。テスト時に、User モデルが保存されて適切な場所にあること、およびサーバーまたはコンソールが更新されたことを確信していますか? 最も一般的なのは、私の経験では、モデルをいじっているときは、きれいな結果を得るためにサーバーとコンソールを頻繁に更新する必要があります。

于 2012-06-04T05:45:12.243 に答える