5

有没有办法让 strong_params 有条件? 无需编写 2 个单独的方法?如果想在某个条件为真时将某些属性添加到许可列表中

例如:

devise_parameter_sanitizer.for(:user) {|u| u.permit(:user,
                                                    :email,
                                                    :role,
                                                    )}

我在上面的例子中允许了这个 :role 属性。我只希望在 Rails.env.development 中允许这个属性有没有办法做到这一点?

4

2 回答 2

10

这是否达到了预期的结果?

user_params = [ :user, :email, (:role if Rails.env.development?) ].compact
devise_parameter_sanitizer.for(:user) { |u| u.permit(*user_params) }
于 2014-01-22T22:52:38.330 回答
1

还没有找到解决方案,所以我做了2个方法并调用正确的param方法来处理记录。

于 2013-10-30T09:57:06.620 回答