我有这样的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 ?
替换它
可能让我们用逗号分隔他们的泛型名称。
答案 0 :(得分:9)
假设泛型是一个字符串数组,并且您希望用新的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(',')
答案 1 :(得分:4)
如果您想用逗号分隔泛型名称,可以试试这个:
- @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(',')
它将打印以逗号分隔的所有相关通用名称。