0

私のコントローラーは、更新時にこのモデル メソッドを呼び出します。

def update_standard(param_attributes)

...

if param_attributes[:is_legacy] == true
  param_attributes[:foo_type_id] = 2
end

  update_attributes(param_attributes)

end

foo_type_idユーザーがフォームに入力したものはすべて上書きする必要がありますが、DB に書き込まれるのはユーザーの選択です。が true のfoo_type_idときに 2 であることを強制するにはどうすればよいですか?is_legacy

4

3 に答える 3

2
param_attributes[:is_legacy] == "true" ? param_attributes[:foo_type_id] = 2 : param_attributes[:foo_type_id]
update_attributes(param_attributes)
于 2013-09-05T15:20:41.370 に答える
1

パラメータが常に文字列であることを確認してくださいparams[:is_legacy]true"true"

于 2013-09-05T15:23:05.017 に答える