目前正在通过rails教程,我需要对/config/initializers/secret_token.rb
进行一些修改,但是,我无法在initializers
目录中的任何位置找到此文件。我正在运行最新版本的rails。这是我在终端中用来创建rails项目的行:
rails new sample_app
任何人都知道它为什么不出现?
答案 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)
有了这个,你可以继续学习教程