- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
最近,我从 Git 中提取了一个存储库。启动服务器后,我收到以下消息:缺少 secret_token 和 secret_key_base。这可能是因为我在我的 .gitignore 中包含了 secrets.yml。
我目前的设置
许多在线资源指出我必须使用 rake secret
生成新 key 并将其添加到 secrets.yml 中。将 key 放在 secrets.yml 中并重新启动 Rails 服务器不起作用。
Edited: Added contents of secrets.yml below. -04/30/15 9:04 AM EST
development:
secret_key_base: LONG KEY HERE
test:
secret_key_base: LONG KEY HERE
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
请注意,这是在我居住地(不是 Heroku)的本地服务器上设置为开发环境。
其他资源状态我需要在我的 secret_token.rb
中添加一个条目但是这个文件在我的项目中不存在。
我的应用程序运行的唯一方法是创建一个 secret_token.rb
文件并在其中添加以下内容之一:
MyApp::Application.config.secret_token = if Rails.env.development? or Rails.env.test?
('x' * 30) # meets minimum requirement of 30 chars long
else
ENV['SECRET_TOKEN-']
end
或
MyApp::Application.config.secret_token = 'the secret key'
为什么 Rails 文档声明要删除此文件时需要此文件?
运行新生成的项目不需要 secret_token.rb,只需要来 self 的 Git 存储库的项目。
请告知为什么我的应用程序需要 secret_token.rb,尽管 Rails 文档另有说明,否则我的应用程序将无法运行。
Edited: -04/30/15 9:27 AM EST
另一个奇怪的行为是我可以重命名 secrets.yml
而 secret_token.rb
保持不变,应用程序仍将运行。
我试图重命名 secret_token.rb
, 添加 <%= ENV["SECRET_KEY_BASE"] %>
进行开发,我仍然遇到 Missing secret_token 问题。
Edited: Added git repo below. -05/08/15 2:50 AM EST
git 仓库:https://github.com/captain-awesome/blog_mac
奇怪的是,如果我要修改 32 个字符中的任何一个,保存 secret_token.rb,重新加载服务器...我的应用程序将运行。 secret_token.rb中的32个字符串是我自己编的吗?如果是这样,rake secret 的真正目的是什么?
最佳答案
您是在本地开发环境还是在其他环境(例如,在生产环境中的 Heroku 上)启动服务器?因为如果您在 Heroku 上运行,那么您需要从 .gitignore
中删除 secrets.yml
,以便 Heroku 可以找出 key 是什么。处理此问题的安全方法是将您的 key 作为环境变量存储在 Heroku 上,并让您的 secrets.yml
指向它(见下文)。
如果您在本地运行,您应该能够删除您的secret_token.rb
,只要您为您的 secret 中的每个环境设置了您的
文件。你没有发布你的样子,但它应该看起来像这样:secret_key_base
.yml
development:
secret_key_base: somerandomkey
test:
secret_key_base: somerandomkey
staging:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
关于ruby-on-rails - 缺少 `secret_token` 和 `secret_key_base` - Rails 4.2.0 with RVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29953420/
我正在 Mac OS X 上安装 Ruby on Rails。我遵循的教程说要添加: [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/script
RVM 可以做的一件事是在您更改目录时注意,查找 .rvmrc ,并根据该文件的内容更改您当前的 Ruby 版本和 gemset。只要您更改到该目录,它就会进行此更改并相应地输出一条消息。 它如何检测
我最近看到了曙光,并改用了 Zsh。我很自然地使用 Oh My Zsh 来配置它,因为我是菜鸟。因此,有几个主题具有 rvm-prompt包括在内,这是我的问题开始了。每次我加载 Zsh 我都必须 r
我正在通过示例教程系列来了解 Rails。在提出问题之前,我会尽力找到解决方案,因此,如果我错过了任何内容,我深表歉意。 每次我需要从终端的命令行启动 RVM 时,我都需要敲一个命令,以便 RVM 初
我正在尝试在 Ubuntu 上使用 RVM 在 rails 上安装 Ruby,但是当我运行此命令时: source ~/.rvm/scripts/rvm 我收到这个错误: bash: /home/u
所以我不确定我是否遗漏了什么,但是是否有自动库的特定设置 rvm requirements 显示要求而不是检查它们是否已安装?或者我是否缺少其他选项来简单地显示要求?我使用的是 1.19.0 版 最佳
有没有办法摆脱警告,当我遍历一个文件夹时,有 .rvmrc文件。 ===================================================================
所以我安装了 fish 和 oh-my-fish,当我想使用 rvm 时出现此错误: ➜ avalancha git:(services) ✗ rvm use 2.1.0 Using /home/ma
我正在使用capistrano,bundler和rvm将Rails应用程序部署到VPS。 这是我的deploy.rb的一部分 $:.unshift(File.expand_path('./lib',
我在 OS X 主机上安装了 RubyMine (7) 和最后一个 Vagrant。我已经准备了 shell 脚本,用于为我的 vagrant box 提供 RVM、ruby (2.1.2)、捆绑我的
我需要在 Cloud9 中使用 Ruby 2.1.2。 rvm 已经安装,所以这很好: samueller@test2:~/workspace $ rvm -v Warning! PATH is no
我想在 ubuntu 中安装 RVM,我正在按照这些步骤操作 root@jaskaran-Vostro-1550:/home/user_name# sudo apt-get install curl
首先我要说我不是命令行专家,所以我真的几乎不知道自己在做什么。 我无法让 RVM 和 oh-my-zsh 一起玩得很好。我尝试了几种不同的解决方案,其中一些是在 SO 上发布的,但我发现似乎没有任何解
我第一次尝试在 ubuntu 服务器上部署我的应用程序。 我一直遇到这个错误: 2013-03-24 15:13:36 executing `deploy:run_migrations' * e
我了解 Boxen不适用于 RVM ,我不明白为什么。是否有一些限制阻止 Boxen 能够使用 RVM 而不是 rbenv? Boxen 的核心是 Puppet,它确实支持安装 RVM 模块,所以我不
在我删除 rvm(ruby 版本管理器)后,zsh 就出来了: zsh: command not found: rvm-prompt 有什么我没弄清楚的吗?但是我已经删除了 zshrc 或 bash_
我一直在使用 RoR 3.0.3 和 2.8.4 开发几个应用程序,这意味着我必须经常在 RVM 环境之间来回切换。我的 3.0.3 RVM 被称为 ruby-1.9.2-p0@ror3 ,而另一个是
我很平静(回复:rbenv),但我对 rvm 和 .rvmrc 感到非常沮丧。我一直遇到问题,我 cd 到我的项目文件夹中,却发现我的 ruby & gemset 环境没有正确设置。所以有人可以一
为什么在/home/user/.rvm/gems/ruby-2.2.3/bin之前加nvm 在 PATH ? echo $PATH /home/user/.rvm/bin:/home/user/.nv
我正在使用Vagrant安装了docker的VM 它还安装了RVM和Ruby 2.1: # -*- mode: ruby -*- # vi: set ft=ruby : $rvm= > .bash_h
我是一名优秀的程序员,十分优秀!