人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

RailsのActionMailerでメール文中にアプリケーションのURLを記述するときの良い方法を教えてください。
例えばアプリケーションのトップのURLを文中に記述したいので、メーラクラスに helper :application を記述して、テンプレート内で <%= root_url %> と書くと、「Missing host to link to! Please provide :host parameter or set default_url_options[:host] 」とエラーになります。しょうがないのでメーラクラスの deliver_* メソッドに root_url を引数として追加して、コントローラで生成した root_url を渡すようにしましたが、これだと URL の数だけ引数で渡す羽目になります。きっと、もっとスマートな方法がありそうなので教えていただけませんでしょうか。

●質問者: nuna
●カテゴリ:ウェブ制作
✍キーワード:ActionMailer application LINK Missing Rails
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● sterwars22
●60ポイント

URL表記の注意

http://blog.s21g.com/articles/530

◎質問者からの返答

ありがとうございます。

読んでみましたが、そのやり方の場合、hostを明示的に指定しないといけないんですよね。コードの記述場所が model なので実行 host の情報が得られないのは当たり前といえば当たり前ですが。

そう考えてみると ActionMailer の view で host の情報が自動的に得られず、コントローラから渡すしかないのも、作りとしては正しいのかもしれないですね……

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ