如何将数组放入html.erb中的I18n中

如何将数组放入html.erb中的I18n中,html,ruby-on-rails,internationalization,rails-i18n,Html,Ruby On Rails,Internationalization,Rails I18n,我正在使用一个t('footer.card.type.name),其中我想用数组列表替换name。顺便说一句,t('footer.card.type.name')是用不同的I18n显示不同的语言 目前,我一直坚持将| type |放入t('footer.card_type.%{type}')。我相信这是行不通的。我只是在试验如何让它发挥作用 <%= link_to t('footer.card_type.all'), credit_cards_path %>

我正在使用一个t('footer.card.type.name),其中我想用数组列表替换name。顺便说一句,t('footer.card.type.name')是用不同的I18n显示不同的语言

目前,我一直坚持将| type |放入t('footer.card_type.%{type}')。我相信这是行不通的。我只是在试验如何让它发挥作用

      <%= link_to t('footer.card_type.all'), credit_cards_path %>
      <% ['cash_back', 'islamic', 'petrol', 'reward', 'travel', 'no_annual_fee', 'premium', 'balance_transfer', 'promo'].each do |type| %>
        <%= link_to t('footer.card_type.%{type}'), credit_card_type_path(sub_type: type.gsub('_','-')) %>
      <% end %> 

我在t('footer.card\u type.')后面添加了.concat(type),找到了一个解决方法。它成功返回两种语言的翻译。希望这段代码可以帮助别人

   <% ['cash_back', 'islamic', 'petrol', 'reward', 'travel', 'no_annual_fee', 'premium', 'balance_transfer', 'promo'].each do |type| %>
        <%= link_to t('footer.card_type.'.concat(type)), credit_card_type_path(sub_type: type.gsub('_','-')) %>
   <% end %>  


我目前无法访问rails项目,因此无法测试它,可能您可以尝试
footer.card\u type.+type
?嘿,Askhat,谢谢您的回答。
'footer.card\u type.+type
只返回
'footer.card\u type'+数组中项目的翻译,而不是准确的翻译本身。我通过添加
.concat(type)