我有以下带有嵌入式ruby的表格行:
<tr class=<%= "image-carousel-show thumb-#{index}" %>>
创造了这个:
<tr class="image-carousel-show" thumb-0="">
但是,我希望thumb-0
位于行的类中,而不是像它当前那样拥有自己的属性。
这就是我希望它显示为:
<tr class="image-carousel-show thumb-0">
我不确定为什么会这样做,在ERB中我把它全部作为一个字符串所以我不知道为什么它被输出为两个。
答案 0 :(得分:8)
这不是由erb完成的,但它是由浏览器修改的,因为这些参数不在引号内。尝试:
<tr class="<%= "image-carousel-show thumb-#{index}" %>">
也绝对没有在erb中同时拥有这两个类的意义。这将做同样的事情并且稍微更具可读性。
<tr class="image-carousel-show thumb-<%= index %>">
答案 1 :(得分:4)
您的ERB已编译为HTML:
<tr class=image-carousel-show thumb-0>
将其解释为:
<tr class="image-carousel-show" thumb-0>
要解决此问题,您需要引用扩展名:
<tr class="<%= "image-carousel-show thumb-#{index}" %>">
但是,我建议使用content_tag
来避免句法混淆:
<%= content_tag :tr, class: "image-carousel-show thumb-#{index}" do %>
<%# tr contents %>
<% end %>