如何用ruby插值生成<p id =“r1_c1”>?</p>

时间:2011-09-25 01:58:31

标签: html ruby-on-rails sass erb

我需要使用一些.erb代码生成一个html id。具体来说,我想使用矩形数组(由单元格表组成)中单元格的行和列索引。我有一个方法cell.web_id,它构造一个字符串,因此:

"r#{row_index}_c#{column_index}", 

使细胞(2,3)产生

"r2_c3".  

到目前为止,这么好。

现在是奇怪的部分。我还没想出如何将web_id结果包装成正确定义属性所需的双引号。不管我尝试什么,我总是得到:

<span class="cell" id=&quot;r1_c1&quot; >

此表格不起作用。

那么,我怎样才能得到这个表格:

<span class="cell" id="r2_c3" >

我知道如果你知道正确的咒语,这很容易,但我没有。

3 个答案:

答案 0 :(得分:1)

试试这个:

<span class="cell" id="<%="r#{row_index}_c#{column_index}"%>" >

<span class="cell" id="r<%=row_index%>_c<%=column_index%>" >

<span class="cell" id="<%=foo_span_id(row_index, column_index)%>" >

foo_span_id是自定义帮助程序方法

答案 1 :(得分:0)

"\"r#{row_index}_c#{column_index}\"".html_safe

(apidock docs)(大多数没用,但为了完整性而包括在内)。

答案 2 :(得分:0)

而是双引号,为什么不尝试单引号? (这通常是我在这种情况下所做的事情。)

所以你的代码将是

"'r#{row_index}_c#{column_index}'"

并且您的HTML也需要稍微更改为单引号

<span class='cell' id='r2_c3'; >