Rails 3.2サーバーでルートを書き直しているので、言語はURLの一部です。私のroutes.rbファイルは次のようなものです。
scope ":lang", :lang => /es|fr|it|pt|en|de/ do
resources :users
end
ほとんどすべてのURLは、言語文字列を追加することで完全に機能します。
http://mydomain/es/somecontroller/someaction
問題はshowアクションにあり、リンクは機能しません。この行:
<%= link_to "Show", @my_user %>
次のような「ルーティングエラー」が発生します。
No route matches {:action=>"show", :controller=>"users", :lang=>##User serialization##}
私は何が間違っているのですか?
編集:わかりました、解決策が見つかりました。ケージと少しの研究のおかげで解決策があります。
次のようなApplicationControllerのメソッドのみが必要です。
def self.default_url_options
{ :lang => FastGettext.locale }
end
そして、すべてが完璧に機能します!! リンクを書き換える必要はまったくありません。