Какой атрибут нужно настроить?Есть два способа сделать это:
Либо массируйте параметры, прежде чем отправлять их в метод update_attribute:
Я просто привожу здесь пример, если вы хотите подчеркнуть одно из значений:
params[:patient][:my_tweak_attribute].gsub!(" ", "_")
@patient.update_attributes(params[:patient])
Тогда есть предпочтительный способ настройки в обратном вызове before_save или before_update в вашей модели:
class Patient < ActiveRecord::Base
before_update :fix_my_tweak_attribute, :if => :my_tweak_attribute_changed?
protected
def fix_my_tweak_attribute
self.my_tweak_attribute.gsub!(" ", "_")
end
end
Это сохраняет ваш контроллер чистым от кода, который он, вероятно, не делаетдействительно нужно.
Если вам просто нужно добавить новый параметр, который не был отправлен формой, вы можете сделать это в контроллере следующим образом:
params[:patient][:updated_by_id] = current_user.id
@patient.update_attributes(params[:patient])
Предполагая current_user
где-то определен для вас (опять же, просто пример)