2
我知道這已被問過,但仍然無法使其工作。 我試圖讓:locale
參數使用default_url_options
,像這樣顯示:當在Ruby on Rails中使用作用域時,URL中的默認參數3
# SomethingController < ApplicationController
def default_url_options(options={})
{ :locale => I18n.locale }
end
I18n.locale
設置有before_filter
並且具有正確的值(用撬調試)。 的路線:
# 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 /某事」。爲了自動獲取參數,我還需要做些什麼嗎?
我讀到這個here:
每一個輔助方法,依賴於url_for(如命名 路線像root_path或root_url,像books_path或 BOOKS_URL等資源的路線傭工)現在將自動包括區域設置在 查詢字符串
曾嘗試這一點,但沒有奏效。 :-( – Donovan
剛剛更新了答案,這是因爲你正在使用'「(:locale)」'而不是':locale'。 –
你說得對,現在顯示的是語言環境,但它總是默認的語言環境。 ':defaults => {:locale => I18n.default_locale}') – Donovan