0

我有以下代码的形式部分:

<%= f.association :client %>
<%= f.input :url, :wrapper => :prepend do %>
    <%= content_tag :span, "http://www.", :class => "add-on" %>
    <%= f.input_field :url, :class => 'span4' %>
<% end %>

尝试加载与此表单部分有关的任何内容,例如新建/编辑等会导致 Heroku 出错。它在本地主机上完美运行。

Heroku 日志中唯一明显的错误是:

ActionView::Template::Error (undefined method `source' for nil:NilClass):

恐怕我不太明白这一点,但认为它可能会帮助任何试图回答这个问题的人。

如果我更改表单部分代码,它可以在 Heroku 上运行,完全没有问题,例如

<%= f.input :url, :input_html => {:class => 'span4' } %>

显然我失去了我很好的引导插件跨度,所以我宁愿找出问题所在,而不是到处乱跑。

4

2 回答 2

1

在黑暗中拍摄,但可能是设置前置包装器的初始化程序(如初始化程序/simple_form.rb 或初始化程序/simple_form_bootstrap.rb)没有被 Heroku 运行,要么是因为它没有检入 git,要么是因为某些环境-初始化程序或环境文件中的特定逻辑。

于 2013-02-28T03:04:34.387 回答
0

好吧,经过测试和丹的一些帮助,我终于明白了。不幸的是,它似乎非常适合我的情况。

但以防万一有人偶然发现,我遇到的错误如下:

ActionView::Template::Error (undefined method `source' for nil:NilClass):

那在日志中,当我按照 Dan 的建议在生产站点上打开错误报告(consider_all_requests_local = true在 config/environments/production.rb 中设置)时也是如此。

我认为错误是在模板中引起的,但是,这是模型中的一些验证规则。我的验证规则是一些正则表达式来阻止用户使用某个字符串开始输入。它们在我本地运行得非常好,但 Heroku 真的不喜欢它!

我删除了这些验证规则,瞧,我漂亮的引导插件跨度运行良好。

于 2013-02-28T22:13:22.807 回答