0

我在一个新的 Rails 应用程序上遇到了这个错误,这让我有点困惑。我可以启动 rails 服务器并加载索引页面就好了,但是当我尝试加载任何其他页面时,我得到

ArguemntError:需要一个秘密才能为 cookie 会话数据生成完整性哈希。在 config/initializers/secret_token.rb 中使用 config.secret_token = "some secret phrase of at least 30 characters"

现在让这个奇怪的是,我已经验证我确实有一个 .secret 文件。我根据 Mike Hartl 教程修改了 secret_token.rb 文件以生成随机的 .secret 文件。我检查了 .secret 文件确实存在。事实上,我删除它并重新启动服务器只是为了确保它会生成一个新的,它确实做到了。.secret 文件的内容确实包含超过 30 个字符的字符串。然而我得到了这个错误。我不确定我在这里缺少什么。

我做了一些谷歌搜索,似乎有些人认为此错误与启动服务器后过早访问该站点导致的竞争条件有关。我重新启动服务器,等待五分钟,然后访问该站点。同样的问题。我不知道为什么会收到此错误。任何帮助将不胜感激。

4

2 回答 2

0

我不得不将 secret_token.rb 的最后一行从:

SampleApp::Application.config.secret_key_base = secure_token

至:

Todo::Application.config.secret_token = secure_token

一遍又一遍地阅读错误消息。

于 2013-09-20T02:16:55.750 回答
0

确保你的 environment.rb 中有这个:

YourApp::Application.initialize!
于 2014-01-15T00:35:43.703 回答