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 に答える