Ruby on Rails – 在包含I18n的link_to调用中嵌入了额外的HTML

我试图在link_to调用中嵌入额外的HTML ,如此线程中所示在link_to调用中嵌入其他HTML

但是,我还想使用I18n。 所以不是这样的:

<%= link_to ' Show'.html_safe, exercise_path(exercise), :class => 'btn btn-small' %> 

我想用t(:show)I18n.t(:show)代替上面例子中的硬编码Show 。 但是,我无法弄清楚正确的语法。 任何帮助将不胜感激。

通过使用其块语法,可以更轻松/更清晰地将其他项嵌入到link_to 。 防爆

 <%= link_to exercise_path(exercise), :class => 'btn btn-small' do %>  <%= t(:show).html_safe %> <% end %> 

使用原始函数就像下面的例子

 <%= link_to raw("some italic text  #{t(:show)}"), exercise_path(exercise), :class => 'btn btn-small' %> 

<%= link_to " #{t(:show)}".html_safe, exercise_path(exercise), :class => 'btn btn-small' %>

使用#{}将ruby代码嵌入字符串中。