Is there a way to make strong_params conditional? Without the need to write 2 separate methods? In case where one would like to add certain attributes to the permit list when a certain condition is true
For example:
devise_parameter_sanitizer.for(:user) {|u| u.permit(:user,
:email,
:role,
)}
I have this :role attribute permitted in above example. I only want this attribute to be permitted when in Rails.env.development is there a way to do this?
Does this achieve the desired results?
user_params = [ :user, :email, (:role if Rails.env.development?) ].compact
devise_parameter_sanitizer.for(:user) { |u| u.permit(*user_params) }
Rubytastic
Haven't found a solution, so I made 2 methods and call the correct param method to handle the records.
来源:https://stackoverflow.com/questions/19536672/rails-4-strong-params-make-them-conditional