【问题标题】:Refinerycms 2.1.0, I18n breaks navigation menuRefinerycms 2.1.0,I18n 打破导航菜单
【发布时间】: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


    【解决方案1】:

    关于 404 错误,可能是您没有其他语言的内容。或者,如果您还要翻译页面标题,您可能至少也想用不同的语言编写页面标题。

    Refinerycms 2.1.0 提供了一种生成自定义菜单的不同方式,已在 here 中讨论过

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 2013-03-07
      • 2010-09-18
      • 1970-01-01
      • 2017-05-24
      • 2017-10-08
      • 2015-03-20
      相关资源
      最近更新 更多