我是Ruby on Rails的初学者,并试图从http://ruby.railstutorial.org/学习我正在创建sample_app并陷入第6章。
我的Ruby版本:ruby 2.0.0p195(2013-05-14)[i386-mingw32]
My Rails版本:Rails 4.0.0
我的GemFile中有以下行:
gem 'bcrypt-ruby', '~> 3.0.0'
如果我输入gem list bcrypt-ruby
,则会显示bcrypt-ruby (3.0.1)
。但是,如果我尝试创建用户,我会收到错误
您的应用程序中未安装bcrypt-ruby。请将其添加到您的Gemfile并运行bundle install
我在rails网站上搜索了很多,bcrypt网站&甚至stackoverflow。但是,没有任何效果。请帮忙。
答案 0 :(得分:2)
我最近遇到过这个问题(和许多其他人一样)。根据ladyruby723发布here,在gemfile文件中使用gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'
。
答案 1 :(得分:1)
我通过以下一行解决了同样的问题:
gem 'bcrypt-ruby', '~> 3.1.2'
答案 2 :(得分:0)
最后......让它工作..不明白确切的问题,但我做了两个重要的改变。我不确定哪个改变让它起作用.. 我卸载了我的旧红宝石和放大器。从railsinstaller安装的rails。为我的操作系统安装了ruby(64位,我从railsinstaller安装时无法选择)。然后我分别安装了rails,sqlite3。 我做的另一个重要变化是GemFile.lock。我认为这样做了。我保留了以下两行
bcrypt-ruby (3.0.0)
bcrypt-ruby (3.0.0-x86-mingw32)
答案 3 :(得分:0)
我相信这个确切的问题在另一个问题中得到了解决。实际上产生了两个错误消息,这是更高级别的错误消息,通过搜索较低级别,我找到了以下答案。
答案 4 :(得分:0)
在gem文件中添加以下内容
gem 'bcrypt', git: 'https://github.com/codahale/bcrypt-ruby.git', :require => 'bcrypt'
并运行bundle install并重新启动服务器
答案 5 :(得分:0)
就我而言,问题是bcrypt版本3.1.2已过时。幸运的是,Ruby可以从命令行直接安装特定gem的最新版本。在这种情况下,我输入
捆绑原始bcrypt
但是更普遍的是你可以做
捆绑原始
gem name
如果您认为您可能会遇到其他宝石方面的类似问题