2012-06-19 15 views
5

たび体がlink_to root_urlのようなものが含まれている場合、それは、この信じられないほど役に立たないエラー与えオフメーラー火災の1:継承アプリ、Noルート一致しない{}

ActionView::Template::Error: No route matches {} 

トレースをどちらか無用であるかのポイントそのlink_toメソッドに。スタックのオーバーフローについては、ここでも非常に解明されているので、私は頼んでいます。

UPDATE 1:app.root_urlは正しいリターンを提供し、コンソールでhttps://gist.github.com/2955610

UPDATE 2:を支援するためには、私は恐ろしいroutes.rbファイルを掲載しました。

更新3:link_to "whatever", root_urlは問題ありません。とても奇妙!

更新日4:通常のレールビューでは正常に動作します。

UPDATE 5:FIXEDimage_tagは現在、電子メールでのホストを提供して出力されていません:http://assets/...png。 Fffff。

UPDATE 6:私は(コンソールで)同じエラーが表示されるように絞り込んだapp.url_for。私はそれが関連しているかもしれないと思う。

+1

場合によっては、routes.rbに 'root:to => 'something"がありますか? – dimuch

+0

@dimuchルートファイルを投稿します。ウォッチアウトは、醜いです。 – krainboltgreene

+0

エラーの原因となるテンプレートから数行を表示することもできますか? – dimuch

答えて

6

実際の答えは、link_toがActionMailerでActionControllerと異なる動作をするということです。違いは、明らかにActionControllerには:script_nameというオプションがあります。これにより、さまざまな前提が得られます。私はずっとあなたがそれについてできることはありませんその違いに同意しないながら

は今、ので、ここで私がやってしまったものです:

link_to root_url, root_url 

、なぜ私は両方を使用しますか?よく2つの理由:

  1. 私はアンカーテキストとhrefとしてURLを望んでいました。
  2. URLが変更された場合、これらの文字列をすべて更新する必要はありません。
+0

それは信じられないほど、私はこの予期しない動作をすでに3時間以上費やしていました。ありがとうございました – antiqe

+0

ありがとう!私はちょうどそれを扱う数時間を失った。 –

0

メーラの問題は、「ホスト」オプションが間違っている可能性がありますか? :)

+0

私の 'production.rb'ファイルには、このセットがあります:' config.action_mailer.default_url_options = {host : "www.connectforacause。com "}' – krainboltgreene

関連する問題