我想知道如何集成这两个gem(designe+强参数),因为强参数可能会在4.0中添加到rails核心

欢迎任何帮助

推荐答案

设计4的更新.十、

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

  protected

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
    devise_parameter_sanitizer.permit(:sign_in, keys: [:username])
    devise_parameter_sanitizer.permit(:account_update, keys: [:username])
  end
end

添加两个Ruby 后,Desive将正常工作.

更新:最新版本的Desive 3.x、 如devise#strong-parameters所述,认证密钥(通常是邮箱字段)和密码字段已经被允许.但是,如果报名表上有任何其他字段,您需要让Deavise知道需要允许的其他字段.最简单的方法是使用过滤器:

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

  protected

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

设计2.x、 如果您使用的安全功能要求在用户模型中明确列出受污染的参数:

include ActiveModel::ForbiddenAttributesProtection

https://gist.github.com/3350730处可以找到所需的更改,这会覆盖一些控制器.

Ruby-on-rails相关问答推荐

ruby on rails 中的自定义关联

Rails 自动加载完全大写的名称,如 API

为特定操作使用布局

带有 simple_form 的按钮内的 HTML 代码

Devise + Omniauth - 如何传递额外的参数?

使用rails form_for时带有_path的未定义方法

如何在 Ruby on Rails 中创建一个锚点并重定向到这个特定的锚点

Rails 上的 build 和 new 有什么区别?

rails, activerecord, 获取当前连接规范

如何更改 Heroku 应用程序的 DATABASE_URL

Rails: WickedPDF: 分页符

Rails - 使用 %W

单击表格行(使用 bootstrap 程序)时,如何使用模式显示数据?

Rails data-disable-with re-enable 按钮

我们如何在 Rails Mailer 中设置邮箱发件人的名称?

如何在 Rails 中设置路由的默认格式?

如何在每个操作的基础上禁用 Ruby on Rails 的日志(log)记录?

即使X-Frame-Options为ALLOWALL,也无法在 iframe 中显示我的 rails 4 应用程序

t.belongs_to 在迁移

无论何时 gem 在 Heroku 上运行 cron 作业(job)