【问题标题】:Devise not working with Rails 4.0rc1设计不适用于 Rails 4.0rc1
【发布时间】:2013-05-20 15:56:02
【问题描述】:

有没有办法让 Devise 与 Rails 4.0rc1 一起工作?尝试启动 rails 服务器甚至生成设计视图时出现以下错误:

/Users/scott/.rvm/gems/ruby-2.0.0-p195@rails/gems/activemodel-4.0.0.rc1/lib/active_model/deprecated_mass_assignment_security.rb:14:in `attr_accessible':
`attr_accessible` is extracted out of Rails into a gem. Please use new recommended protection model for params(strong_parameters) or add `protected_attributes` to your Gemfile to use old one. (RuntimeError)

【问题讨论】:

    标签: ruby-on-rails devise activemodel ruby-on-rails-4 attr-accessible


    【解决方案1】:

    您可以使用支持 Rails 4 的新 Devise 版本。

    gem 'devise', '~> 3.0.0.rc'
    

    【讨论】:

    • 我添加了该行,运行bundle install 并再次尝试启动 Rails 服务器并生成设计视图。同样的问题,只是现在我收到此警告:[DEVISE] Devise.use_salt_as_remember_token is deprecated and has no effect. Please remove it.
    • @at.你能尝试运行bundle update而不是bundle install吗?
    • bundle update 实际上并没有更新任何内容。所以很自然地出现了同样的问题
    • 删除初始化程序中的 devise.rb,然后再次运行 devise:install。
    • @FancyDancy - 我这样做了,我在 execute_if_updated 中得到了 /Users/scott/.rvm/gems/ruby-2.0.0-p195@rails/gems/railties-4.0.0.rc1/lib/rails/application/routes_reloader.rb:10:in rescue:Rails::Application::RoutesReloader#execute_if_updated 委托给 updater.execute_if_updated,但更新程序为零:#<: application::routesreloader:0x007faaed43afb8>]> (RuntimeError)`
    【解决方案2】:

    我在同一页上。我将 RoR4.0rc1 与 devise~3.0.0.rc 一起使用。我的错误如下所示:

    $ rake db:migrate
    rake aborted!
    Rails::Application::RoutesReloader#execute_if_updated delegated to updater.execute_if_updated, but updater is nil: #<Rails::Application::RoutesReloader:0xb375220 @paths=["/var/www/html/rails/Blog/config/routes.rb"], @route_sets=[#<ActionDispatch::Routing::RouteSet:0xb3f7cd4>]>
    /home/pav/.rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application/routes_reloader.rb:10:in `rescue in execute_if_updated'
    /home/pav/.rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application/routes_reloader.rb:6:in `execute_if_updated'
    /home/pav/.rvm/gems/ruby-2.0.0-p0/gems/railties-4.0.0.rc1/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
    

    更新:在版本控制中删除了安装设备之前的位置。通过安装 Device3.0.0rc 并使用 v3.0.0rc 生成设备,从头开始完成所有步骤。一切正常。

    【讨论】:

    • 更新:已删除在版本控制中回到安装设备之前的位置。通过安装 Device3.0.0rc 并使用 v3.0.0rc 生成设备,从头开始完成所有步骤。一切正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    相关资源
    最近更新 更多