Ruby on Rails - 通过遍历实例变量在 html.erb table 中创建行
Ruby on Rails - Creating rows in an html.erb table by looping over instance variable
我有一个实例变量@referrals,它包含一个人所做的推荐的名称。我现在需要创建一个 table 将所有这些推荐显示为行。我在 html.erb 文件中尝试了以下代码:
<table style="border:1px solid black;margin-left:auto;margin-right:auto;">
<th> Referral Emails </th>
<% @referrals.each do |referrals| %>
<tr> referrals </tr>
<%end %>
</table>
和
<table style="border:1px solid black;margin-left:auto;margin-right:auto;">
<th> Referral Emails </th>
<% @referrals.each do |referrals| %>
<%= <tr> referrals </tr> %>
<%end %>
</table>
两者都显示错误。
我是 Ruby 的新手,非常感谢您提供正确的 Ruby 代码帮助。提前致谢。
编辑:@mu 建议的代码更改太短。
默认情况下,在 ERB 中,代码块包含在 <%
和 %>
分隔符中,如果您想要代码块 运行 的结果,请使用 [=13] =] 符号,例如 <%= 'Hel' + 'lo' %>, world
会输出“Hello, world”。
用 .each
迭代的每个成员都在竖线符号之间命名,因此这就是您在块内引用的内容。
另外 table 行需要有 table 数据,或行 <tr>
标签中的 <td>
标签。
假设 @referrals
是一个字符串列表,下面是对您有用的内容:
<table style="border:1px solid black;margin-left:auto;margin-right:auto;">
<tr> <th> Referral Emails </th> </tr>
<% @referrals.each do |referral| %>
<tr> <td> <%= referral %> </td> </tr>
<% end %>
</table>
我有一个实例变量@referrals,它包含一个人所做的推荐的名称。我现在需要创建一个 table 将所有这些推荐显示为行。我在 html.erb 文件中尝试了以下代码:
<table style="border:1px solid black;margin-left:auto;margin-right:auto;">
<th> Referral Emails </th>
<% @referrals.each do |referrals| %>
<tr> referrals </tr>
<%end %>
</table>
和
<table style="border:1px solid black;margin-left:auto;margin-right:auto;">
<th> Referral Emails </th>
<% @referrals.each do |referrals| %>
<%= <tr> referrals </tr> %>
<%end %>
</table>
两者都显示错误。
我是 Ruby 的新手,非常感谢您提供正确的 Ruby 代码帮助。提前致谢。
编辑:@mu 建议的代码更改太短。
默认情况下,在 ERB 中,代码块包含在 <%
和 %>
分隔符中,如果您想要代码块 运行 的结果,请使用 [=13] =] 符号,例如 <%= 'Hel' + 'lo' %>, world
会输出“Hello, world”。
用 .each
迭代的每个成员都在竖线符号之间命名,因此这就是您在块内引用的内容。
另外 table 行需要有 table 数据,或行 <tr>
标签中的 <td>
标签。
假设 @referrals
是一个字符串列表,下面是对您有用的内容:
<table style="border:1px solid black;margin-left:auto;margin-right:auto;">
<tr> <th> Referral Emails </th> </tr>
<% @referrals.each do |referral| %>
<tr> <td> <%= referral %> </td> </tr>
<% end %>
</table>