私は、ロケールで動作するようにしてみてください。私が持っている動的な列名
routes.rbをで:
scope "(:locale)", :locale => /en|ro|ru/ do
resources :catalogs
end
*のapplication_controller.rbでは、私がで
# tell the I18n library where to find your translations
I18n.load_path += Dir[Rails.root.join('lib', 'locale', '*.{rb,yml}')]
# set default locale to something other than :en
I18n.default_locale = :en
before_filter :set_locale
def set_locale
I18n.locale = params[:locale] || I18n.default_locale
end
を持っています*データベース私は列を持つテーブルを持っています:catalog_name_en; list.html.erbビューでcatalog_name_roとcatalog_name_ru
私はこのコードを追加:列catalog_name_enの値私は唯一の「catalog.catalog_name_en」を参照してくださいHTMLページに
<% @catalogs.each do |catalog| %>
<tr>
<td class="center"><%= catalog.id %></td>
<td class="center"><%= "catalog.catalog_name#{locale}" %> </td>
</tr>
<% end %>
ではなく、 。 ヘルプPLZ。 (コメントで述べたように)
<%= catalog.attributes["catalog_name_#{locale}"] %>
たり短くしますが、同等:
、私は信じています今すぐ受け入れられるように、1つの答えにフラグを立てる必要があります(「チェックマーク」を使用してください)。 – Romain