2

params.require().permit()メソッドに設定している属性の1つ、つまり属性を考慮していないため、メソッドの使用に問題があります:on

私が持っているのはこれです:

def event_recurrence_params
  params.require(:event_recurrence).permit(:room_id, [...], :on, :every)
end

次に、 を呼び出すevent_recurrence_paramsと、答えは

>> event_recurrence_params
=> {"room_id"=>"1", [...], "every"=>"week"}

の値params[:event_recurrence]

>> params[:event_recurrence]
=> {"room_id"=>"1", [...], "on"=>["wednesday"], "every"=>"week"}

ご覧のとおり、属性が許可されていて、それが含まれていても、属性は:on考慮されていません。event_recurrence_paramsparams[:event_recurrence]

何か案は?私は多くのことを試しましたが、どれもうまくいきませんでした。ありがとうございました!

4

1 に答える 1

5

ドキュメントから:

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

params の値が許可されたスカラー値の配列でなければならないことを宣言するには、キーを空の配列にマップします。

したがって、これを行う必要があります:

params.require(:event_recurrence).permit(:room_id, [...], :every, on: [])
于 2013-09-05T16:46:41.650 に答える