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 %>

このフォームに関係する何かをロードしようとすると、たとえばnew / editなど、Herokuでエラーが発生します。ローカルホストで問題なく動作します。

Herokuログの唯一の明らかなエラーは次のとおりです。

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

私はそれを本当に理解していないのではないかと思いますが、これに答えようとしている人には役立つかもしれないと思いました。

フォームの部分コードを変更すると、Herokuで問題なく動作します。

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

明らかに、私は素晴らしいブートストラップアドオンスパンを失ったので、問題を回避するのではなく、問題が何であるかを調べたいと思います。

4

2 に答える 2

1

暗闇の中で撮影しましたが、プリペンドラッパーを設定するイニシャライザー(initializers/simple_form.rbやinitializers/simple_form_bootstrap.rbなど)が、gitにチェックインされていないか、環境が原因でHerokuによって実行されていない可能性があります-イニシャライザまたは環境ファイルの特定のロジック。

于 2013-02-28T03:04:34.387 に答える
0

テストとダンの助けを借りて、ようやくその真相にたどり着きました。残念ながら、それは私の状況にかなりローカライズされているようです。

しかし、誰かがこれに出くわした場合に備えて、私が持っていたエラーは次のとおりです。

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

consider_all_requests_local = trueそれはログにあり、Dan のアドバイスに従い、本番サイト ( config/environments/production.rb で設定)でエラー報告をオンにしたときと同じでした。

テンプレートでエラーが発生していると思いましたが、モデルのいくつかの検証ルールでした。ユーザーが特定の文字列で入力を開始するのを止める正規表現がある私の検証ルール。それらは私のローカルでは問題なく動作しましたが、Heroku は本当に気に入らなかったのです!

これらの検証ルールを削除すると、いい感じのブートストラップ アドオン スパンが完全に機能していました。

于 2013-02-28T22:13:22.807 に答える