我在新的Rails应用程序上遇到此错误,这让我有点困惑。我可以启动rails服务器并加载索引页面,但是当我尝试加载任何其他页面时,我得到了
ArguemntError:需要一个秘密来为cookie会话数据生成完整性哈希。在config / initializers / secret_token.rb中使用config.secret_token =“至少30个字符的一些秘密短语”
现在让我感到奇怪的是,我已经确认我确实有一个.secret文件。我修改了secret_token.rb文件,根据Mike Hartl教程生成一个随机的.secret文件。我已经检查过.secret文件确实存在。事实上,我删除它并重新启动服务器只是为了确保它会生成一个新的,它确实。 .secret文件的内容确实包含一个大于30个字符的字符串。然而我收到了这个错误。我不确定我在这里缺少什么。
我做了一些谷歌搜索,似乎有些人觉得这个错误与因启动服务器后过早访问网站而导致的竞争状况有关。我重新启动服务器,等待五分钟,然后访问该站点。同样的问题。我无法理解为什么我会收到此错误。任何帮助将不胜感激。
答案 0 :(得分:0)
我必须从:
切换secret_token.rb的最后一行SampleApp::Application.config.secret_key_base = secure_token
为:
Todo::Application.config.secret_token = secure_token
虽然一遍又一遍地阅读错误信息。
答案 1 :(得分:0)
确保在您的环境中有这个.rb:
YourApp::Application.initialize!