在ActiveRecord中,我们如何在不担心/知道主键的情况下更新记录.
如果我做
Address.update(15, :user_name => 'Samuel')
Run Code Online (Sandbox Code Playgroud)
它对应于
UPDATE addresses set user_name = 'Samuel' where id = 15
Run Code Online (Sandbox Code Playgroud)
但是,如果我想做什么:
UPDATE addresses set user_name = 'Samuel' where cid = 15
Run Code Online (Sandbox Code Playgroud)
什么是ActiveRecord相当于那?
我试过了:
Address.update({:cid => 15}, :user_name => 'Samuel')
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
我是从控制台执行此操作但我也想在我的代码中执行此操作.基本上我正在尝试将记录添加到表中,然后将ID返回.
>> @record = Physician.create(:pname => "someone2")
=> #<Physician id: nil, pname: "someone2", pgroup: nil, created_at: nil, updated_at: nil, userid: nil, storeid: nil, licexpdate: nil, address: nil>
>> @record.save
=> false
>>
Run Code Online (Sandbox Code Playgroud)