【发布时间】:2014-08-05 12:40:49
【问题描述】:
我是 Rails 新手,我已经学会了如何使用语言环境来更改我的网站语言,但我想在我的导航栏右侧放置一个选择框,它可以传递变量/会话来更改整体网站语言。那可能吗?我正在使用带有 Ruby 的 Windows:1.9.3,Rails:3.2.2
到目前为止,这是我在“layouts/application.html.erb”上的导航栏:
<div class="upmenu">
<ul align="left">
<li><a href="/issues"><%=t "nav.issues.list" %></a></li>
<li><a href="/issues/new"><%=t "nav.issues.new" %></a></li>
<li><a href="/timeline/index"><%=t "nav.timeline" %></a></li>
<li><a href="/projects"><%=t "nav.projects" %></a></li>
<%= yield :nav %>
</ul>
<ul id="language">
<li><%= select_tag(:lang, options_for_select([['Portuguese', 'pt'], ['English', 'en']])) %></li>
</ul>
</div>
记住我的 url 使用了以下范围,所以它类似于 >"Localhost:3000/en/issues/"
scope "/:locale" do
get "/timeline/index", to: "timeline#index"
resources :projects
resources :issues
end
这是我的路线:
timeline_index GET /:locale/timeline/index(.:format) timeline#index
projects GET /:locale/projects(.:format) projects#index
POST /:locale/projects(.:format) projects#create
new_project GET /:locale/projects/new(.:format) projects#new
edit_project GET /:locale/projects/:id/edit(.:format) projects#edit
project GET /:locale/projects/:id(.:format) projects#show
PUT /:locale/projects/:id(.:format) projects#update
DELETE /:locale/project
DELETE /:locale/projects/:id(.:format) projects#destroy
.:format) issues#index
issues GET /:locale/issues(.:format) issues#index
POST /:locale/issues(.:format) issues#create
PUT /:locale/projects/:id(.:format) projects#update
DELETE /:locale/projects/:id(.:format) projects#destroy
issues GET /:locale/issues(.:format) issues#index
POST /:locale/issues(.:format) issues#create
new_issue GET /:locale/issues/new(.:format) issues#new
edit_issue GET /:locale/issues/:id/edit(.:format) issues#edit
issue GET /:locale/issues/:id(.:format) issues#show
PUT /:locale/issues/:id(.:format) issues#update
DELETE /:locale/issues/:id(.:format) issues#destroy
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 drop-down-menu internationalization