これはすでに尋ねられていることは知っていますが、それでも機能させることはできません。:locale
次のように、を使用して表示するパラメーターを取得しようとしていますdefault_url_options
。
# SomethingController < ApplicationController
def default_url_options(options={})
{ :locale => I18n.locale }
end
I18n.locale
a で設定されbefore_filter
、正しい値を持っています (pry でデバッグ)。ルート:
# In routes
scope "(:locale)", :defaults => { :locale => I18n.default_locale } do
get "something" => "something#index", :as => :something_index
end
私の見解では、私は試しました:
url_for :something_index
と
something_index_url
ただし、どちらも「/en/something」ではなく「/something」を返します。パラメータを自動的に表示するために他に何かしなければならないことはありますか?
私はこれについてここで読んだ:
url_for に依存するすべてのヘルパー メソッド (たとえば、root_path や root_url などの名前付きルート、books_path や books_url などのリソース ルートのヘルパー) は、クエリ文字列にロケールを自動的に含めるようになりました。