ruby-on-rails - Rails 4 - "No Implicit Conversion of Fixnum into String"- 错误仅发生在生产中

标签 ruby-on-rails ruby types runtime-error production

在生产环境中运行我的 Rails 4.1 项目时出现以下错误:

ActionView::Template::Error (no implicit conversion of Fixnum into String):
 8:     %meta{content: "", name: "description"}/
 9:     %meta{content: "", name: "author"}/
10:     = stylesheet_link_tag    'application', media: 'all'
11:     = csrf_meta_tags
12:   %body
13:     .header.navbar.navbar-inverse
14:       = render 'layouts/header'

对我来说没有任何意义的是在开发中一切正常,上面的错误真的让我不知道什么是真正的错误(没有具体的行号)并且 HAML 模板中的任何内容都没有出现我。

当我的 UsersController 中的以下代码运行时,我也会遇到类似的错误:

@user = User.last

同样,在开发中工作得很好,但在生产中它告诉我TypeError(没有将 Fixnum 隐式转换为 String)

我是不是忽略了什么?我没有看到任何需要类型转换的东西。

注释掉我提到的最后一行不会影响其他错误。

最佳答案

这是我自己想出来的。

我在 secrets.yml 中为生产制作的 secret_key_base 只包含数字;显然 YAML(或 Ruby 的实现)自动将其解释为整数,而 secret_key_base 必须是字符串。也许 keystore 也有必要是字母数字的。我不确定。

我希望 Rails 只是对 secret_key_base 进行了类型转换,这样我就不必浪费一半的工作日来试图根除问题。至少,如果有一个相关的警告而不是一个没有向我指出任何方向的神秘错误,那就太好了。

关于ruby-on-rails - Rails 4 - "No Implicit Conversion of Fixnum into String"- 错误仅发生在生产中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24767863/

相关文章:

javascript - Rails 3.2 的最佳实践 : Attach javascript functions to window object?

ruby-on-rails - rake 数据库 :migrate error 'PG::UndefinedColumn: ERROR: column "slug"does not exist'

ruby - 在特定位置插入哈希条目

ruby - 检查 Ruby 中的数组数组中是否不存在值

generics - 复制 Kotlin 数组减去特定索引处的元素

haskell - Haskell 中 type 和 newtype 的区别

ruby-on-rails - 在 Heroku 上运行 Rails 4 应用程序时出现问题

ruby-on-rails - routes.rb,如何为路径设置不同的主键?

ruby - 在 Ruby 中,为什么堆栈跟踪中没有变量名?

sql - Linq2Sql 中的 System.DateTime 和 Sql datetime2(使用 sqlmetal)