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

Ruby on Rails(2.0.2)について質問です。
アクションビューのlink_to(要するにurl_for)ヘルパーで生成するリンク(URL)を絶対パス(http://?)として一括で指定するうまい方法はあるのでしょうか?
各ビューのlink_toなどで個別に:hostを設定する方法は知っています。
独自のヘルパーを作って、オプションに:host=> "hogehoge"と:only_path => falseを設定する方法は思いつきましたが、ビューのコードは書き換えたくないです。(数が増えると面倒なので)
コントローラにdefault_url_optionsを指定すると出来そうだと思ったのですが、
url_helperのソースを見てると:hostが指定していないと:only_pathが強制的にtrueにされてしまい、ダメでした。


●質問者: tak-n
●カテゴリ:インターネット ウェブ制作
✍キーワード:2.0 Ruby on Rails URL うまい アクション
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● znz
●60ポイント

app/helpers/application_helper.rbで以下のようにデフォルトのオプションを変更してしまえばよいのではないでしょうか?

module ApplicationHelper
 def url_for(options={})
 options = {
 :host => "example.jp",
 :only_path => false,
 }.merge(options)
 super(options)
 end
end

http://www.ruby-lang.org/ja/man/html/Hash.html#merge

◎質問者からの返答

ありがとうございます。

optionsがHashでないときにエラーが出たので、

if options.is_a? Hash

を追加してうまく動きました。

関連質問


●質問をもっと探す●



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