需要多种语言。
配置了i18n.rb:
Refinery::I18n.configure do |config|
config.enabled = true
config.default_locale = :en
config.current_locale = :en
config.default_frontend_locale = :en
config.frontend_locales = [:en, :ru]
config.locales = {:en=>"English", :ru=>"Russian"}
end
在refinerycms中生成引擎:
rails generate refinery:engine product title:string description:text image:image --i18n title description
rails generate refinery:products
当我尝试打开引擎的任何页面时,我收到以下错误:No route matches {:locale=>:en, :controller=>"refinery/products/products", :action=>"show", :id=>"1"}
请帮忙!
答案 0 :(得分:1)
在我向CMS添加自定义引擎后,我遇到了同样的问题;我的语言环境选择器'在我的应用程序布局文件中导致了您所描述的错误:
-# Haml:
%ul.locales
- locales.each do |locale|
%li= link_to Refinery::I18n.locales[locale], url_for(:locale => locale), :title => Refinery::I18n.locales[locale], :class => "flags-#{locale}"
通过将url_for
更改为refinery.url_for
,这解决了问题:
-# Haml:
%ul.locales
- locales.each do |locale|
%li= link_to Refinery::I18n.locales[locale], refinery.url_for(:locale => locale), :title => Refinery::I18n.locales[locale], :class => "flags-#{locale}"
无法解释发生了什么,但也许这可以解决您的问题。
说实话,所有学分应该转到this answer:)
答案 1 :(得分:0)
你跑了吗?
rake db:migrate
rake db:seed
完成rails generate refinery:products
后?