Ruby on rails 在rails中更新记录后返回

Ruby on rails 在rails中更新记录后返回,ruby-on-rails,postgresql,activerecord,arel,Ruby On Rails,Postgresql,Activerecord,Arel,如何在activerecord中进行此查询: UPDATE table_name SET column = 'value' WHERE id = 123 RETURNING other_column 我尝试了update\u all但它返回了更改记录的数量,update\u atributes返回真/假,以及update返回整个对象 在rails中,它应该如下所示(伪代码): 如果您只想更新id为123的单个记录,为什么不能这样做 TableName.update(123, :colum

如何在activerecord中进行此查询:

UPDATE table_name SET column = 'value' WHERE id = 123 RETURNING other_column
我尝试了
update\u all
但它返回了更改记录的数量,
update\u atributes
返回真/假,以及
update
返回整个对象

在rails中,它应该如下所示(伪代码):

如果您只想更新id为123的单个记录,为什么不能这样做

   TableName.update(123, :column => 'value').other_column

请用您实现的代码详细说明您的问题。(模型、控制器等)如果要使用
connection.execute
,则必须小心引用/转义SQL中的值。
connection.execute
将绕过rails验证,
update
将生成两个查询:
select
update
。我只需要一个问题。
result_sets = Model.connection.execute("UPDATE table_name SET column = 'value' WHERE id = 123 RETURNING other_column")
result_sets.each do |result|
  p result[:other_column]
end
   TableName.update(123, :column => 'value').other_column