2012-03-01 9 views
0

button_toメソッドのヘルプを使用してボタンを作成して、新しいユーザーフレンドシップを作成できるページに移動したいとします。HTTP GETリクエスト用のボタンの作成:ロケールの維持に関する問題

<%= button_to t(:add_friend), new_user_friendship_url(current_user), :method => :get, :class => "btn-success" %> 

(私が使用してCSSフレームワークのボタンのスタイリングがリンクよりもはるかに良く見えるので、私は、すなわちのlink_toを使用しない、リンクを使用する必要はありません)。

残念ながら、button_toはURLパラメータとして正しいロケールを追加しません。私はそれについて何かできることはありますか?

これは私のapplication_controller.rbです。ここでは、すべてのページ要求に対してロケールを設定しています。

class ApplicationController < ActionController::Base 
    before_filter :set_locale 

    def set_locale 
    I18n.locale = params[:locale] || I18n.default_locale 
    end 

    protect_from_forgery 

    def default_url_options(options={}) 
    logger.debug "default_url_options is passed options: #{options.inspect}\n" 
    { :locale => I18n.locale } 
    end 
end 

ありがとうございます。

答えて

0

まず、リンクのスタイル設定と同じ方法でボタンをスタイルするのは簡単です。

第2に、問題はあなたのコードのどこかにあると思います。私は私のアプリでこれを置く場合:

= button_to 'blaa', users_path(:locale => 'de') 

を私のような形を得る:

<form action="/users?locale=de" class="button_to" method="post"><div><input type="submit" value="blaa" /><input name="authenticity_token" type="hidden" value="k4PtVPS041DnTmTqkfh+xBIyFvVJCauenmg233BoLSw=" /></div></form> 

と、このボタンは、あなたが正しいですhttp://localhost:5000/users?locale=de

+0

に私を取る、CSSのスタイリングは、同様に、リンクのために働きます。私が最初にそれを試していたときに何が悪い結果をもたらしたのか分からない。私はボタンの代わりにリンクに切り替えました。ありがとう! –

関連する問題