ruby-on-rails - 设计:新错误(Encrytable)

标签 ruby-on-rails devise

我已经一个星期没有接触过我的代码,但是当我捆绑并尝试运行我的网络服务器时,我现在收到以下错误,这让我陷入困境。包括错误输出中建议的设计加密 gem 不能解决问题,仍然会导致相同的错误。非常感谢任何帮助。

[DEVISE] Devise.apply_schema is deprecated and has no effect. Please remove it.


[DEVISE] To select a encryption which isn't bcrypt, you should use devise-encryp
table gem.


[DEVISE] Devise.use_salt_as_remember_token is deprecated and has no effect. Plea
se remove it.

/Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1/lib/action_d
ispatch/http/mime_type.rb:101: warning: already initialized constant PDF
[DEVISE] You're trying to include :encryptable in your model but it is not bundl
ed with the Devise gem anymore. Please add `devise-encryptable` to your Gemfile 
to proceed.

/Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib/devise/model
s.rb:96:in `const_get': uninitialized constant Devise::Models::Encryptable (Name
Error)
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/models.rb:96:in `block (2 levels) in devise'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/models.rb:91:in `each'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/models.rb:91:in `block in devise'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/models.rb:122:in `devise_modules_hook!'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/models.rb:89:in `devise'
        from /Users/sa/Documents/AptanaWorkspace/sparkv1/app/models/sa
as_admin.rb:4:in `<class:SaasAdmin>'
        from /Users/sa/Documents/AptanaWorkspace/sparkv1/app/models/sa
as_admin.rb:1:in `<top (required)>'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.
2.1/lib/active_support/inflector/methods.rb:229:in `block in constantize'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.
2.1/lib/active_support/inflector/methods.rb:228:in `each'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.
2.1/lib/active_support/inflector/methods.rb:228:in `constantize'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise.rb:252:in `get'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/mapping.rb:77:in `to'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/mapping.rb:72:in `modules'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/mapping.rb:89:in `routes'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/mapping.rb:156:in `default_used_route'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/mapping.rb:66:in `initialize'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise.rb:286:in `new'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise.rb:286:in `add_mapping'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/rails/routes.rb:207:in `block in devise_for'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/rails/routes.rb:206:in `each'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/devise-2.1.0/lib
/devise/rails/routes.rb:206:in `devise_for'
        from /Users/sa/Documents/AptanaWorkspace/sparkv1/config/routes
.rb:8:in `block in <top (required)>'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1
/lib/action_dispatch/routing/route_set.rb:272:in `instance_exec'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1
/lib/action_dispatch/routing/route_set.rb:272:in `eval_block'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.1
/lib/action_dispatch/routing/route_set.rb:249:in `draw'
        from /Users/sa/Documents/AptanaWorkspace/sparkv1/config/routes
.rb:7:in `<top (required)>'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:40:in `block in load_paths'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:40:in `each'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:40:in `load_paths'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:16:in `reload!'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:26:in `block in updater'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.
2.1/lib/active_support/file_update_checker.rb:78:in `call'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.
2.1/lib/active_support/file_update_checker.rb:78:in `execute'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:27:in `updater'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application/finisher.rb:66:in `block in <module:Finisher>'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/initializable.rb:30:in `instance_exec'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/initializable.rb:30:in `run'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/initializable.rb:55:in `block in run_initializers'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/initializable.rb:54:in `each'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/initializable.rb:54:in `run_initializers'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application.rb:136:in `initialize!'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/railtie/configurable.rb:30:in `method_missing'
        from /Users/sa/Documents/AptanaWorkspace/sparkv1/config/enviro
nment.rb:5:in `<top (required)>'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/application.rb:103:in `require_environment!'
        from /Users/sa/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.1/l
ib/rails/commands.rb:25:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

最佳答案

我只是遇到了同样的问题。

正如devise wiki 上所写,你必须在你的Gemfile 中添加这一行:

gem '设计加密'

来自维基:

If you're using encryptable on your models, you will now have to include devise-encryptable on your gemfile.



https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.1

关于警告:

从你的 devise.rb 中删除以下内容:
# Automatically apply schema changes in tableless databases
config.apply_schema = false

# If true, uses the password salt as remember token. This should be turned
# to false if you are not using database authenticatable.
config.use_salt_as_remember_token = true

关于ruby-on-rails - 设计:新错误(Encrytable),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10610919/

相关文章:

ruby-on-rails - current_user 的 default_scope

ruby-on-rails - 为 AJAX 请求设计验证用户

ruby-on-rails - Rails 3 : using devise for authentication, 如何还允许使用 guid 访问报告页面而不是登录

html - 从 Rails Controller 发布并重定向到外部站点?

ruby-on-rails - 如何检查docker容器内的ruby版本

ruby-on-rails - 如何在 Rails 中为自定义 db rake 任务动态设置 schema_format?

ruby-on-rails - 未知操作 : The action 'create' could not be found for RegistrationsController?

ruby-on-rails - 已弃用对顶级常量 'Task' 的引用

mysql - Devise 和country_select gem 不会将选择保存到数据库 Rails4 中

ruby-on-rails-4 - DeviseTokenAuth Controller 的强参数覆盖