Я следую за Райан Бейтс railscasts I18n Internationalization и ударил проблему/вопрос.Нужно диагностировать routes.rb для добавления английского/испанского в Rails 3 app
Я пытаюсь установить язык в моей ссылке, что-то вроде этого:
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
И в моем просмотров/макеты/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
Я довольно новичок в маршрутах, может кто-нибудь мне помочь см./объяснять проблему? Спасибо заранее.
Вы правы, у меня есть другие маршруты, и я фактически сузил его. Мне нужно больше понять спокойную маршрутизацию, я проверю эту книгу. Я также собираюсь снова прочитать руководства Ruby on Rails по маршрутизации. Будет ли более приемлемая версия: ресурсов сайтов: а затем добавить кучу маршрутов участников? Мне не нужен CRUD для моего контроллера сайта, только действия, которые будут статичными (дома, продукты и т. Д.). Это лучшая практика для этого? – ruevaughn
Я уже прошел путь к контроллеру «сайта», и его можно заставить работать. Я застрял с Rails (вместо того, чтобы устанавливать приложение Sinatra, чтобы заботиться о статических страницах или что-то в этом роде), потому что я хотел, чтобы эти «статические» страницы обновлялись, и я знаю, что мне придется иметь дело с проблемами I18n на всем сайте , В итоге у меня был контроллер, представляющий организацию с элементами типа «about», «contact» и «home» как свойства одной организации, хранящейся отдельно в db. Все остальное было Rails CRUD. Это сработало, но мне всегда остается интересно, есть ли лучший способ. – mikewilliamson
Удивительно, это как раз моя ситуация, я также хочу, чтобы «статические» страницы обновлялись.Но мне нужен только интерфейс, чтобы переключать языки, а не конец, поэтому я пытался обернуть область вокруг только своих статических страниц, если это имеет смысл. Спустившись по этой дороге, есть ли какие-либо другие советы на этом сайте, насколько структура или любая другая вещь, о которой вы можете думать? – ruevaughn