这太简单了,太荒谬了,我在任何地方都找不到关于它的任何信息,包括 API 文档和 Rails 源代码:
我有一个 :belongs_to 关联,我开始理解当您没有关联时您在 Controller 中调用的正常模型方法与您有关联时调用的方法略有不同。
例如,我的关联在创建 Controller 操作时运行良好:
@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 对 2)”,我不知道应该发送哪些参数。
最佳答案
使用update_attributes
:
@user = current_user
@building = @user.buildings.find(params[:id])
respond_to do |format|
if @building.update_attributes(params[:building])
#...
end
end
关于ruby-on-rails - Rails Associations 的更新方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4357944/