Следя Ryan Bates railscasts I18n Internationalization и срещам проблем/въпрос.
Опитвам се да задам езика в моята връзка, нещо подобно:
http://localhost:3000/en/site/services за английски
и
http://localhost:3000/es/site/services за испански
Дефинирам това в моя файл с маршрути тук:
routes.rb
scope ":locale" do
get "site/home"
get "site/about_us"
get "site/faq"
get "site/discounts"
get "site/services"
get "site/contact_us"
get "site/admin"
get "site/posts"
get "categories/new_subcategory"
get "categories/edit_subcategory"
end
и имам в моето приложение контролер
before_filter :set_locale
private
def set_locale
I18n.locale = params[:locale] if params[:locale].present?
end
def default_url_options(options = {})
{locale: I18n.locale}
end
И в моите views/layouts/application.html.erb
<%= link_to_unless_current "English", locale: "en" %> |
<%= link_to_unless_current "Spanish", locale: "es" %>
Сега, когато се опитам да стартирам рейк маршрути или да отида до URL адреса, получавам
C:\www\project>rake routes
rake aborted!
missing :controller
Сравнително нов съм в маршрутите, може ли някой да ми помогне да видя/обясня проблема? Благодаря предварително.