在rails on rails上使用活动记录来执行sql操作

时间:2015-09-20 20:26:14

标签: mysql ruby-on-rails activerecord

我有两个型号A& B.在表A中,我有三列A1,A2和A3。在表B中,我有三列以及B1,B2和B3。 当我的A控制器更新其表时,我想传递一个id,控制器B可以使用它来更新其表,使用sql语句,它应该是这样的:

UPDATE TABLE B SET B2 = some_value WHERE B1=param_value AND B2=NULL 

我需要特别将B2设为null或为空,表B中有多个条目B1=param_value,但只有一行B1=param_value可以使B2为空。

我已将此功能保存在我的application_controller.rb文件中

def update_tableB(id)
   temp = B.find_by_B1(id).find_by_B2(null)
   # Not sure how to set temp.B2 to some value I want
   B.update(temp).find_by_B1(id).find_by_B2(null)
end

1 个答案:

答案 0 :(得分:1)

在ActiveRecord中,您使用映射对象的模型,而不是直接使用表。因此,假设B是模型,则按照以下步骤执行SQL更新查询

string bloombergCode = secDataArray.GetElement("security").GetValueAsString();

我不能更具体,因为你的问题太抽象了。