Ruby on rails RubyonRails包降级

Ruby on rails RubyonRails包降级,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在处理ROR,顺便说一句,我用bundle update命令升级了我的bundle,我收到消息说bundle是最新的,但当我尝试启动我的rails服务器rails s时,它向我抛出了一个错误: /var/lib/gems/1.9.1/gems/devise-3.2.4/lib/devise/models.rb:88:in `const_get': uninitialized constant Devise::Models::TokenAuthenticatable (NameError)

我正在处理ROR,顺便说一句,我用
bundle update
命令升级了我的bundle,我收到消息说bundle是最新的,但当我尝试启动我的rails服务器
rails s
时,它向我抛出了一个错误:

/var/lib/gems/1.9.1/gems/devise-3.2.4/lib/devise/models.rb:88:in `const_get': uninitialized constant Devise::Models::TokenAuthenticatable (NameError)
请告诉我要怎么解决这个问题。我在这方面做了很多研究,但没有得到任何答案。我使用
sudo apt get install rails安装了rails
而不是RVM。我认为有一个选项可以使用RVM降级rails版本。
请帮助。

根据以下内容:

TokenAuthenticatable
已从设备中删除。因此,如果您在应用程序中使用它,则需要删除它

devise :database_authenticatable, :registerable,
 -         :recoverable, :rememberable, :token_authenticatable
:应删除令牌\u authenticatable

也请参考此

如果它在本地工作,则可能意味着正在加载旧的gem-请确保您的gem不包含旧版本的designe,并且在您的gem文件中,请仅指定
gem'designe'
,而不指定版本

然后,为了降级ruby版本,您需要在您的机器中安装RVM

请参考下面的链接以使用它安装RVM和不同版本的ruby。然后,您可以为不同的项目使用适当的ruby版本。无需降级系统安装的ruby版本。此外,如果需要,还可以使用SystemRuby版本。(
rvm使用系统


希望它有帮助:)

正如您所提到的,您没有使用rvm,那么如何降低坡度。要安装一个特定的rails版本,你需要像gem install rails-v'3.2.16'这样做,谢谢Sabyasachi,但是我是rails的新手,rails在更新包之前工作得很好,当我运行命令更新包时,它更新了我的所有包,现在当我启动rails服务器时,它抛出了一个错误,正如我提到的。请告诉我如何将我的捆绑包与以前的捆绑包降级。只需删除Gemfile.lock并运行捆绑包安装,然后让我知道它是否工作。仍然会收到相同的错误..:-(Sabyasachi,我照你说的做了,但它不起作用,我在GEM文件中添加了designe版本并安装了捆绑包,然后从designe和start rails中删除了密钥。现在它起作用了。谢谢你的回答和帮助。@Shiv Aggarwal:答案更新了。对你有用吗?Rajesh这是一个好建议我知道这一点,但我希望该项目成为cor。)我使用了很多其他的gem。使用RVM,我想我必须改变每一个地方。。我的项目已经进入最后阶段,所以我建议它是否正确。@shivagarwal:嘿,使用RVM安装ruby的较低版本没什么大不了的。毕竟你想升级,对吗?只需安装RVM并安装ruby版本(您要将其降级)并从项目文件夹中,只需运行“rvm use 1.8.7”并运行bundle install。检查此链接。执行此操作只需5分钟。如果出现任何问题,请通过运行“rvm use system”使用系统ruby版本本身。如果这对您有帮助,请接受答案。