如何在 Haml 的 table 的同一列中放置变量和纯文本

How to place a variable and plain text in the same column of the table in Haml

在我的 Haml 代码中,我想在 table 的同一列中显示一个带有货币代码的值,但是每次我尝试时都会出错,或者 Haml 引擎将它放在 table:

%tr
      %td= pocket.address
      %td= pocket.deal
      %td= pocket.balance
      USD // I want include this text to the column above
      %td= link_to 'Show', wallets_show_path 

在 ERB 文件中,它看起来像这样:

<%= pocket.balance %> USD

我该如何解决这个问题?

只需使用字符串插值即可。

%tr
  %td= pocket.address
  %td= pocket.deal
  %td= "#{pocket.balance} USD"
  %td= link_to 'Show', wallets_show_path 

你也可以传递一个方块:

%tr
  %td= pocket.address
  %td= pocket.deal
  %td 
    %span= pocket.balance
    %span= USD
  %td= link_to 'Show', wallets_show_path 

您可以使用字符串插值(无需额外的字符串):

  %td #{pocket.balance} USD

或者只使用多行语法:

  %td
    = pocket.balance
    USD

PS。如果你的货币是固定的,最好不要在视图中对其进行硬编码,在任何 pocket 中创建一个 currency 方法,它可能 return 不变,但以后会更容易找到 [=14] =]