localhost上的config.secret_key_base错误

时间:2014-05-13 03:15:49

标签: ruby-on-rails

我正在关注Hartl的Rails教程,并在运行http://localhost:3000/后尝试打开rails s时遇到此错误。我尝试使用我的默认设置打开一个rails服务器,它工作正常,所以我怀疑错误来自他在书中指定的以下Gemfile。这里有什么东西可以引起问题吗?

我的默认设置为ruby 2.0.0rails 4.1.0heroku-toolbelt/3.6.0 (x86_64-linux) ruby/1.9.3

Hartl's Gemfile是:

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0

gem 'rails', '4.0.5'

group :development do
  gem 'sqlite3', '1.3.8'
end

gem 'sass-rails', '4.0.1'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'

group :doc do
  gem 'sdoc', '0.3.20', require: false
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

1 个答案:

答案 0 :(得分:3)

我在跟随Hartl时遇到了同样的问题,我认为发生了什么:

使用rails new sample_app创建应用程序时,您将默认为已安装的版本:4.1。 Rails 4.1使用config.secret_key_base文件处理secrets.yml; 4.0使用secret_token.rb。 因为Hartl的Gemfile指定了Rails 4.0.5,所以在运行应用程序时它会查找后一个文件。

您可以修改Hartl的Gemfile以指定Rails 4.1.0(我选择的路线);或者您可以从https://github.com/railstutorial/sample_app_rails_4/blob/master/config/initializers/secret_token.rb复制Hartl的secret_token.rb。

使用rails _4.0.5_ new sample_app创建应用时,您也可以使用Hartl的Rails版本。这将使用secret_token.rb创建一个4.0应用程序。

希望这有帮助。