Rails 4 Strong parameters : permit all attributes?

Nicolas Blanco picture Nicolas Blanco · Dec 25, 2012 · Viewed 56.8k times · Source

I'm building a web app with Rails 4 strong parameters.

When building the admin back office controllers, I wonder what is the best way to permit all the model attributes?

For now, I wrote this:

def user_params 
  params.require(:user).permit(User.fields.keys)
end

Do you think of a better way?

Answer

Damon Aw picture Damon Aw · Dec 26, 2012

You can call the bang version of permit.

params.require(:user).permit!

Strong Params README on Github

Source code for reference:

def permit!
  each_pair do |key, value|
    convert_hashes_to_parameters(key, value)
    self[key].permit! if self[key].respond_to? :permit!
  end

  @permitted = true
  self
end