2010-12-05 46 views
4

这是如此简单,以至于我无法找到任何有关此文档的任何信息,包括API文档和Rails源代码:什么是Rails关联的更新方法?

我有:belongs_to关联,并且我已经了解了您调用的正常模型方法在控制器中,当你没有关联时与你做的时候稍有不同。

例如,我有我的协会建立控制器动作做工精细:

@user = current_user 
@building = Building.new(params[:building]) 

respond_to do |format| 
    if @user.buildings.create(params[:building]) 
# et cetera 

,但我不能找到文档更新是如何工作的:

@user = current_user 
@building = @user.buildings.find(params[:id]) 

respond_to do |format| 
    if @user.buildings.update(params[:building]) 
# et cetera 

使用更新方法给出的错误“参数的错误数量(1 for 2)”,我无法弄清楚应该发送什么参数。

回答

10

使用update_attributes

@user = current_user 
@building = @user.buildings.find(params[:id]) 

respond_to do |format| 
    if @building.update_attributes(params[:building]) 
    #... 
    end 
end 
+0

这就是它!我已经尝试过那个,但是使用了错误的对象。谢谢。 – user478798 2010-12-05 17:45:06