使用具有设计的强参数

时间:2014-08-15 22:10:46

标签: ruby-on-rails devise strong-parameters

我使用Devise进行身份验证。

继续前进并更新我的用户数据库以包含生物列。添加了这个并运行了迁移,所以我可以看到它在那里。

现在我希望用户能够在登录后添加一个生物。我做过一些研究,我看到attr_accessible已不再是rails 4,我应该使用强参数。还查看了Devise文档,但无法找到我想要的内容。

我看到它们被添加到控制器中,但是因为我使用了Devise,所以我无法访问UsersController

如何为用户添加更新bio字段的功能,以便将其保存在数据库中?

1 个答案:

答案 0 :(得分:1)

您应该在ApplicationController中添加before_filter来执行此操作。 Devise docs包含一个解释此内容的部分。我从那里拿了下面的代码:

class ApplicationController < ActionController::Base
  before_action :configure_permitted_parameters, if: :devise_controller?

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) << :username
  end
end

在示例中,允许在sign_up页面中解析属性:username。