4

これは私にとって奇妙なことなので、他の誰かがこれに遭遇したかどうか興味があります:

私は次のものを持っています:

def credential_params
  params.required(:credential).permit(:name,:agent_ids)
end

私のコントローラーの作成および更新アクションでは、上記のパラメーター呼び出しで一括割り当てを使用しています...

@credential.update_attributes(credential_params)

しかし、私はまだ得るUnpermitted parameters: agent_ids

これをparams.required(:credential).permit!(つまり、すべて許可) に変更すると、もちろん機能します。

ここで明らかな落とし穴を見落としているに違いない気がします...誰かそれが何であるか知っていますか?

4

2 に答える 2

5

試す

params.require(:credential).permit(:name, { :agent_ids => [] })
于 2013-03-13T02:53:44.613 に答える
4

とった。

配列はサポートされている型の 1 つではありません:

許可されているスカラー型は、String、Symbol、NilClass、Numeric、TrueClass、FalseClass、Date、Time、DateTime、StringIO、IO、ActionDispatch::Http::UploadedFile、および Rack::Test::UploadedFile です。

したがって、解決策は次のように配列を指定することです。

params.require(:credential).permit(:name, :agent_ids => [])

他の人がこれが役立つことを願っています。

于 2013-03-13T02:53:37.223 に答える