2

フィールドの 1 つが であるモデルがありますserialise :config, JSON

任意のハッシュを値として許可する必要があります。しかし、それを行うためのきれいな方法がまったくわかりませんstrong_parameters

私の現在の解決策は次のとおりです。

def resource_params
  p = params.require(:model)
  config = dp.slice(:config).permit!
  p.delete(:config)
  [p.permit(:foo, :bar, ...).merge(config)]
end
4

2 に答える 2

0

ホワイトリストを使用する必要があります。

def resource_params
  params.require(:model).permit(:foo, :bar, ...).tap do |whitelisted|
    whitelisted[:config] = params[:model][:config]
  end
end

ここで見つけることができます: http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters "4.5.4 強力なパラメーターの範囲外" を検索します。

于 2013-10-13T14:14:55.987 に答える