【问题标题】:/config/initializers/secret_token.rb not being generated. Why not?/config/initializers/secret_token.rb 未生成。为什么不?
【发布时间】:2014-04-17 04:14:23
【问题描述】:

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

rails new sample_app 

有人知道它为什么不显示吗?

【问题讨论】:

  • 嘿拜伦,你能找到解决这个问题的方法吗?我正在遵循相同的教程并在这一点上陷入困​​境。我想知道是否复制并粘贴到secreats.yml(而不是secret_token.rb)会这样做。
  • 我尝试了但无济于事。我决定跳过任何“测试”材料,稍后再单独研究。
  • 谢谢。我做了同样的事情。哦,顺便说一句,将代码复制并粘贴到 secrets.yml 将不起作用。
  • 在下面查看我的答案。简短版本是您需要安装教程中使用的确切版本的 Rails。 Rails 4.1 和 Rails 4.0 在这个小方面有所不同。

标签: ruby-on-rails ruby


【解决方案1】:

感谢您指出这一点。该问题可能是由于使用 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 版,并计划在更一般的更新中解决这个问题。

【讨论】:

  • 感谢您的帖子!如果我想问一下,第三版的目标发布日期是什么时候?
  • 我从经验中吸取了教训,从不做出精确的估计,但我希望今年夏天的某个时候能展示一些东西。
【解决方案2】:

您正在查看的教程可能是为您使用的旧版本的 Rails 编写的。

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

它已在 Rails 4.1 中被 secrets.yml 文件取代:

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

【讨论】:

  • 感谢您指出这一点!我正在学习 Hartl 的相同教程。你知道我们是否只是将相同的代码复制并粘贴到 secrets.yaml 而不是 secret_token.rb?
  • 感谢您的回答,但这并不完全正确:从 secret_token.rb 更改为 secrets.yml 的是 Rails 4.1,而不是 Rails 4 本身。
【解决方案3】:

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

有了这个你就可以继续教程了

【讨论】:

  • 把 gitignore 文件更新成什么?我应该换什么?如果您对这一切都不熟悉,那么您真的对这些东西一无所知。
猜你喜欢
  • 2015-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多