在Rails 3 文档中,build关联方法被描述为与new方法相同,但是自动分配外键.直接来自文档:
Firm#clients.build (similar to Client.new("firm_id" => id))
Run Code Online (Sandbox Code Playgroud)
我在其他地方读过类似的内容.
然而,当我使用new(例如,some_firm.clients.new不带任何参数),新的客户端的firm_id关联被自动创建.我现在正在控制台中盯着结果!
我错过了什么吗?文档是否有点过时(不太可能)?build和之间有什么区别new?
我收到此错误"未定义的方法`attribute_method_matcher'为nil:NilClass".
我的控制器名称是Cad它的功能是
def index
@cadempty = Cad.new
@caddata = Cad.all
end
Run Code Online (Sandbox Code Playgroud)
错误在于创建新对象.如果我评论Cad.new代码工作正常.
之前我认为可能是因为我有一个名为'new'的方法,而我正在使用User.new它为表单创建一个空白对象.但它不是错误我将方法重命名为其他东西,错误仍然存在.我不知道我做错了什么.