0

需要有多种语言。

配置 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

在炼油厂生成引擎:

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"}当我尝试打开引擎的任何页面时

请帮忙!

4

2 回答 2

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}"

无法解释发生了什么,但也许这会解决你的问题。

老实说,所有学分都应该归于这个答案:)

于 2012-11-23T21:31:59.563 回答
0

你跑了吗:

rake db:migrate
rake db:seed

你做了之后rails generate refinery:products

于 2012-09-28T07:29:51.010 回答