【发布时间】:2013-12-12 21:33:06
【问题描述】:
我有一个由refinerycms 2.1.0 提供支持的网站。
我需要支持 4 种语言,所以我使用 refinerycms-i18n 2.1.0 gem。
我在管理区域显示了所有标志,不同版本的页面似乎都可以工作。
标题中有我的语言菜单:
link_to "ESP", {:locale => :es}, :class => (params[:locale] == "es" ? 'selected' : nil)
链接生成如下:mysite.com/es/...。
但是,对于英语语言环境,没有设置 url 中的 :locale 参数。
问题是,对于除英语之外的所有语言环境,导航菜单中的链接似乎生成错误:使用页面 ID 而不是 slug。链接看起来像 .../es/<page_id> 或 .../es/parent_page_slug/<page_id>。当我单击它们时,会呈现 404。对于英语语言环境,一切都很好:.../parent_page_slug/child_page_slug.
我在页脚中也有菜单,实现方式如 here 所述,它适用于所有语言环境。
我的路线.rb:
get '/' => "application#index"
mount Refinery::Core::Engine, :at => '/'
由于2.1.0,据我所知,我什至无法访问_menu.html.erb 文件。我有哪些选择?如果需要,我很乐意为您提供更多信息。谢谢你的帮助!
【问题讨论】:
标签: ruby-on-rails ruby rails-routing refinerycms