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

时间:2017-06-08 04:30:47

标签: 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 %>
      <% ['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 %> 

1 个答案:

答案 0 :(得分:0)

我找到了一个解决办法,在 t('footer.card_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 %>