【问题标题】:Ruby on Rails 3: Updating join table, using 2 parameters?Ruby on Rails 3:使用 2 个参数更新连接表?
【发布时间】:2011-10-09 14:08:46
【问题描述】:

我有一个连接表,它有 3 个参数。我想更新它,使用 where 子句,像这样:(这显然是不正确的)

Grid.update(:page_id => @page_id,:thing_id => @thing_id,:number => @number ).where(:page_id => @page_id, :number => @number ).first

我需要找到带有数学 page_id 和 number 的记录,然后更新 thing_id。

谢谢! 雅各布

【问题讨论】:

  • 新旧页数/页数是否相等?

标签: ruby-on-rails ruby where-clause


【解决方案1】:
Grid.where(:page_id => @page_id, :number => @number).first.
  update_attributes(:page_id => ...,: thing_id => ..., :number => ...)

【讨论】:

  • 谢谢!这也有效: Grid.where(:page_id => @page_id, :number => @number).update_all(:thing_id => @thing_id) 在这里找到示例:api.rubyonrails.org
  • @jakobk:确实。实际上,您可以在 update_all 中编写所有内容(请参阅条件参数)。我个人不会这样做,因为它在语义上不符合您的意图(当然这是主观的)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 2011-05-10
  • 2011-11-28
  • 1970-01-01
  • 2010-10-20
相关资源
最近更新 更多