update_attributes字段调整

bop*_*ard 5 ruby-on-rails

所以我有一个编辑页面上有可编辑字段的对接...简单更新 @patient.update_attributes(params[:patient])......一切都很棒,除了....

我在这20个中有一个字段,我需要在它准备好db之前稍微调整一下,看起来我要么做

  1. 两次旅行
    @patient.update_attributes(params[:patient])
    @patient.update_attribute( :field=>'blah')

  2. 或者单独设置它们
    patient.update_attributes(:field1=>'asdf', :field2=>'sdfg',:field3=>'dfgh', etc...)

我错过了这样做的方法吗?

Spy*_*ros 2

您可以为该字段创建虚拟属性。假设该字段是:name。您在患者模型中创建一个函数,例如:

def name
  self[:name] = self[:name] * 2
end
Run Code Online (Sandbox Code Playgroud)

当然,您可以在该函数内完成您的操作:) 除了 self[:name],您还可以使用 read_attribute(:name)。