Ruby on rails 为HAML和Rails中的每个循环编写代码

Ruby on rails 为HAML和Rails中的每个循环编写代码,ruby-on-rails,ruby-on-rails-3.2,haml,Ruby On Rails,Ruby On Rails 3.2,Haml,我有这样一个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 我在作弊,只打印第一个通用的。但

我有这样一个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
我在作弊,只打印第一个通用的。但是每个庭院可以有多个通用的。 因此,对于该部分的每个循环,这是一个或另一个
。但是这个HAML我刚开始使用,还不习惯。
有人能帮我完成我应该用HAML格式编写的额外循环吗?这样我就可以用
patient.generics[0]。name?

或许让我们用逗号分隔它们的泛型名称。

假设泛型是一个字符串数组,并且要用新的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(',')  

如果要用逗号分隔泛型名称,可以尝试以下方法:

- @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(',')           

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

这将创建具有不同数量的
td
元素的表行,这可能不是您想要的。是的,在我回答后,他更改了问题。我编辑以反映新问题。