ruby-on-rails - Rails Associations 的更新方法是什么?

标签 ruby-on-rails ruby activerecord associations

这太简单了,太荒谬了,我在任何地方都找不到关于它的任何信息,包括 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/

相关文章:

ruby-on-rails - 如何递增属性,使其值(至少)比其他记录高 1 并且唯一

ruby-on-rails - Rails 应用程序缺少 en-UK.yml 文件

html - 在redirect_to之后 View 丢失CSS链接标签

ruby-on-rails - 当 guard-rspec 与 spork 一起使用时没有通知

ruby-on-rails - Rails date_select帮助程序和验证

ruby-on-rails - 使用 Active Record 查找数据库中的下一条记录

ruby-on-rails - 将日期范围转换为周和月数组

ruby - 我遇到 ruby 的分支问题

Ruby 元编程在线教程

ruby - 使子类无法访问实例方法