使用嵌入式ruby动态修改html标记内的id

时间:2014-06-26 03:27:25

标签: html ruby-on-rails ruby

如何在html标记中动态设置id?

具体来说,我试图做这样的事情:

<td <% "id=unit_" + unit.id.to_s %> > *content goes here*  </td>

其中unit.id是一个整数变量。

我可以在这样的html标签中使用嵌入式ruby(即&lt; %%&gt;)吗?

如果没有,我怎样才能实现我想做的事情?

2 个答案:

答案 0 :(得分:1)

<td id="<%= unit.id.to_s %>">...</td>

答案 1 :(得分:1)

在您的模板中的任何位置放置<% %><%= %>标记,它将被评估为ruby代码。它不像html标记,不能被卡在<li class=<p>>之类的其他标签中。那只是胡说八道。但是对于erb,那会很酷:<td id="<%= unit.id %>">

注意与erb - my_view.html.erb一起使用的文件名的扩展名。这告诉你模板首先由ERB(嵌入式Ruby)处理,也称为ruby,然后将其作为html文档读取。所以你真正关心的是在erb处理之后文档是有效的html

希望有所帮助!

另请注意,在您的问题中,您使用<% %>标记,该标记将评估ruby但不会在模板中输出任何内容。 =符号(<%=)告诉erb打印出执行的ruby代码的结果。