【发布时间】:2014-03-28 09:56:00
【问题描述】:
我已经阅读了文档,但仍然无法理解语法/格式。
我是 Rails 的新手。我的模型中有这个:
attr_accessible :email, :username
由于 rails 4.0 的变化,这需要转移到我的控制器上。
如果我把它放在我的控制器中会不会是正确的(这是我认为文档说要做的,但不确定我是否正确解释):
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :username
end
对我来说这样的事情更有意义,我可以这样做吗?:
protected
def permitted_paramters
params.require(:username, :email).permit(:username, :email)
end
如有任何建议,谢谢。
【问题讨论】:
-
Rails 4 中不需要
attr_accessible;) -
@RichPeck 所以我应该完全关闭它而不在我的控制器中做任何事情?什么意思?
-
Rails 4 使用
strong_params,这意味着您不再需要对attr_accessible的任何引用!你应该从你的控制器中删除 -
你确定吗,在文档中它说我们需要将 attr_accessible 移动到我们的控制器或等效的控制器(受保护的、允许的参数等)。我非常困惑......
标签: ruby-on-rails devise attributes ruby-on-rails-4.1