/config/initializers/secret_token.rb未生成。为什么不?

时间:2014-04-17 04:14:23

标签: ruby-on-rails ruby

目前正在通过rails教程,我需要对/config/initializers/secret_token.rb进行一些修改,但是,我无法在initializers目录中的任何位置找到此文件。我正在运行最新版本的rails。这是我在终端中用来创建rails项目的行:

rails new sample_app 

任何人都知道它为什么不出现?

3 个答案:

答案 0 :(得分:17)

感谢您指出这一点。问题可能是由于使用Rails 4.1而不是 Rails教程中指定的Rails 4.0。这是因为Section 1.2.2状态(粗体原文)

这样的问题
  

除非另有说明,否则您应该使用本教程中使用的所有软件的确切版本,包括Rails本身,如果您想要相同的结果。

要开始工作,首先要卸载当前版本的Rails:

$ gem uninstall rails railties

然后按照exactly as written in the tutorial说明安装Rails 4.0:

$ gem install rails --version 4.0.4

生成测试应用程序(为方便起见,跳过Bundler)并通过grep管道输出,然后验证生成secret_token.rb

$ rails -v
Rails 4.0.4
$ rails new test_app --skip-bundle | grep secret_token
      create  config/initializers/secret_token.rb

此时,您应该能够按照所写的教程的其余部分进行操作。

顺便说一句,我即将开始编写本教程的第3版,并计划将此问题作为更一般更新的一部分来处理。

答案 1 :(得分:14)

您正在查看的教程很可能是针对较旧版本的Rails编写的,而不是您正在使用的。

Rails 3和Rails 4.0应用程序中存在

secret_token.rb;它在Rails 4.1应用程序中不存在。

它已在Rails 4.1中由 secrets.yml 文件替换:

http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml

答案 2 :(得分:0)

我正在使用4.1.1。不要将任何内容复制到secrets.yml,只是不要忘记更新gitignore文件(http://www.railstutorial.org/book/beginning#code-gitignore

有了这个,你可以继续学习教程