strong parameters not accepting array

后端 未结 3 687
深忆病人
深忆病人 2021-01-02 00:51

I have this in my view which is a multiselect checkbox

Model

class User < ActiveRecord::Base
  has_many :user_roles, :dependent =         


        
3条回答
  •  一整个雨季
    2021-01-02 01:42

    See the Rails Strong Parameters documentation regarding nested attributes.

    The correct format is:

    params.permit(:name, {:roles => []}, ...)
    

    AnkitG's solution worked for me in Rails 4 using the Role Model gem for my user model. My user controller's implementation of _params ended up looking like:

    def user_params
      # Bug with permit for nested arrays... @see https://stackoverflow.com/a/17880288/2631472
      params.require(:user).permit(:first_name, :last_name, :middle_name).tap do |whitelisted|
        whitelisted[:roles] = params[:user][:roles]
      end
    end
    

提交回复
热议问题