/en|ro|ru/ do resources :catalogs end 在 *-6ren">
gpt4 book ai didi

ruby-on-rails - 动态列名

转载 作者:行者123 更新时间:2023-12-04 06:11:47 24 4
gpt4 key购买 nike

我尝试使用语言环境:

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; catalog_name_ro 和 catalog_name_ru

在 View list.html.erb 中,我添加了这段代码:

<% @catalogs.each do |catalog| %>

<tr>
<td class="center"><%= catalog.id %></td>
<td class="center"><%= "catalog.catalog_name#{locale}" %> </td>
</tr>
<% end %>

在 html 页面中,我只看到“catalog.catalog_name_en”,但看不到列 catalog_name_en 的值。请帮助我。

最佳答案

您可以尝试使用:

<%= catalog.attributes["catalog_name_#{locale}"] %>

或更短但等效的(如评论中所述):

<%= catalog["catalog_name_#{locale}"] %>

关于ruby-on-rails - 动态列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10494276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com