为什么我得到"未定义的方法`assert_valid_keys`"?

bjn*_*ord 23 ruby-on-rails

知道我为什么会收到此错误:

Exception encountered: #<NoMethodError: undefined method `assert_valid_keys' for :widget:Symbol>
Run Code Online (Sandbox Code Playgroud)

当我尝试Factory.build(:widget)在以下模型上做一个:

class Widget < ActiveRecord::Base
  belongs_to :designer, :vendor
  # ...
end
Run Code Online (Sandbox Code Playgroud)

当我删除该belongs_to行时,错误就会消失.

luc*_*tte 41

 belongs_to :designer, :vendor
Run Code Online (Sandbox Code Playgroud)

不行.:vendor被视为一种选择.当然,没有这样的选择.有关详细信息,请参阅文档.

如果您需要两个belongs_to关系,只需将您的代码更改为:

 belongs_to :designer
 belongs_to :vendor
Run Code Online (Sandbox Code Playgroud)