7

我有一个这样的 HAML:

- @my_patients_list.each do |patient|
  %tr
    %td= patient.name
    %td= patient.date_of_birth
    %td= patient.gender
    %td= patient.brand_name.name
    %td= patient.generics[0].name

注意 %td= patient.generics[0].name 我在作弊的那一行,只打印第一个通用的。但是每个 patinet 可以有多个泛型。所以这部分是一个问题for-each loop。但是这个HAML我刚开始用还不太习惯。有人可以帮忙解决我应该以 HAML 格式编写的额外循环,以便我可以将其替换为patient.generics[0].name ? 可能让我们用逗号分隔它们的泛型名称。

4

2 回答 2

14

假设泛型是一个字符串数组,你想用新的 td 分隔...

- @my_patients_list.each do |patient|
  %tr
    %td= patient.name
    %td= patient.date_of_birth
    %td= patient.gender
    %td= patient.brand_name.name
    - patient.generics.each do |gen|
       %td= gen.name

否则,如果您只想用逗号分隔...

- @my_patients_list.each do |patient|
      %tr
        %td= patient.name
        %td= patient.date_of_birth
        %td= patient.gender
        %td= patient.brand_name.name
        %td= patient.generics.map(&:name).join(',')  
于 2013-08-22T17:31:07.453 回答
5

如果你想用逗号分隔泛型名称,你可以试试这个:

- @my_patients_list.each do |patient|
  %tr
    %td= patient.name
    %td= patient.date_of_birth
    %td= patient.gender
    %td= patient.brand_name.name
    %td= patient.generics.map(&:name).join(',')           

它将打印用逗号分隔的所有相关通用名称。

于 2013-08-22T17:43:56.853 回答