初心者な質問で毎回申し訳ないです。
Parameters: { "visitors"=>{ "1"=>{"group_id"=>"1"}, "2"=>{"group_id"=>"1"}, "3"=>{"group_id"=>"1"}},"id"=>"2"}
という値をupdateする時、
Unpermitted parameters: :1, :2, :3
と怒られてしまい、更新できません。
この値にカラム名をつけるとか、idで紐付ける(?)なのか、何か更新できる手立てはありますか?
この値は、visitorモデルのidです。
こちらのサイトでもお世話になり、さらに下記のサイトを参考にしました。
Rails5.1で一括登録フォームを実装する
fields_for(record_name, record_object = nil, options = {}, &block) public
が、これ以上分かりませんでした。私には。。。
[controller]
def update p visitors = params[:visitors] @visitors = visitors.keys.each do |id| visitor = Visitor.find(id) visitor.update!(visitor_params) end rescue ActiveRecord::RecordInvalid => en p en.record.errors end private def visitor_params params.require(:visitors).permit(:group_id) end
試したこと。
値の取得や、フォーム上でカラム名を入れようとしたのですが、全てダメでした。
[controller]
params[:visitors][:id] #=>ダメでした。 params[:visitor][:id] #=>ダメでした。 params[:visitors]["1"] #=>一応拾えます。
申し訳ありませんが、教えていただけると大変助かります。どうぞよろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/26 23:40