小编Joe*_*wer的帖子

Rails 4 +自定义设计属性 - ParameterSanitizer错误

我按照本教程将自定义字段添加到我的Devise用户模型中,并且在大多数情况下一切似乎都正常.但是,当我尝试退出我的应用程序时,有时会收到错误,如下所示:

Devise中的NameError :: SessionsController #New

未初始化的常量User :: ParameterSanitizer

提取的来源(第11行):

9   def devise_parameter_sanitizer
10    if resource_class == User
11      User::ParameterSanitizer.new(User, :user, params)
12    else
13      super
14    end
Run Code Online (Sandbox Code Playgroud)

正如我所提到的,我的应用程序通常正常.有时我可以在不收到此错误的情况下注销.它简直让我感到困惑!

编辑:重新启动rails服务器导致错误消息消失,但是,我正在寻找一个更永久的解决方案.

编辑:完整堆栈跟踪:

app/controllers/application_controller.rb:11:in 'devise_parameter_sanitizer'
devise (3.2.2) app/controllers/devise/sessions_controller.rb:40:in 'sign_in_params'
devise (3.2.2) app/controllers/devise/sessions_controller.rb:8:in 'new'
actionpack (4.0.0) lib/action_controller/metal/implicit_render.rb:4:in 'send_action'
actionpack (4.0.0) lib/abstract_controller/base.rb:189:in 'process_action'
actionpack (4.0.0) lib/action_controller/metal/rendering.rb:10:in 'process_action'
actionpack (4.0.0) lib/abstract_controller/callbacks.rb:18:in 'block in process_action'
activesupport (4.0.0) lib/active_support/callbacks.rb:443:in '_run__1105479583300404070__process_action__callbacks'
activesupport (4.0.0) lib/active_support/callbacks.rb:80:in 'run_callbacks'
actionpack (4.0.0) lib/abstract_controller/callbacks.rb:17:in 'process_action'
actionpack (4.0.0) lib/action_controller/metal/rescue.rb:29:in 'process_action'
actionpack (4.0.0) lib/action_controller/metal/instrumentation.rb:31:in 'block …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails devise ruby-on-rails-4

6
推荐指数
1
解决办法
2970
查看次数

ActiveRecord 在迁移文件中添加评级范围

class AddRatingToBooks < ActiveRecord::Migration
  def up
    add_column :books, :rating, :integer
  end

  def down
    remove_column :books, :rating
end
Run Code Online (Sandbox Code Playgroud)

我的 中有以下代码片段db/migrate/,我正在尝试添加ratings到我的books表中,其范围为0-100我不确定如何在此处添加它,我能找到的只是查询与范围。我确信这很简单,只是我还没有做到。

activerecord ruby-on-rails

2
推荐指数
1
解决办法
4140
查看次数