我正在关注this SE问题,将表单放入带有rails的bootstrap模式中。 回答问题的人说:“确保每个模态身体都有一个独特的身份或类别。”所以我想在我的link_to中添加一个唯一的ID号:
<%= link_to "Edit", edit_post_path(post.id), :class => "btn", :remote => true, "data-toggle" => "modal", "data-target" => "<%= post.id %>-my-modal" %>
但这会导致错误。如果我拿出&lt;%= post.id%&gt;我没有错误,但模态行为不起作用。
如何将带有嵌入式ruby的post.id添加到链接?
答案 0 :(得分:3)
你必须这样写:
<%= link_to "Edit", edit_post_path(post.id), :class => "btn", :remote => true, "data-toggle" => "modal", "data-target" => "#{post.id}-my-modal" %>
答案 1 :(得分:1)
打开&lt;%...%&gt;后标签,你正在编写ruby代码。这意味着您无法嵌套&lt;%...%&gt;另一个&lt;%...%&gt;内的标签tag,因为这些标签不是ruby语法。
在标签内部,要进行字符串插值,请使用普通的ruby方法:
<soapenv:Body>
<tns:executeXml xmlns:tns=\"http://soap.sforce.com/schemas/class/[WSDL_File_Name]">
<!-- ...BECOMES THIS ELEMENT: -->
<tns:reqXml><!-- (MY ESCAPED XML PAYLOAD GOES HERE) --></tns:reqXml>
</tns:executeXml>
</soapenv:Body>
答案 2 :(得分:0)
唯一的错误是放另一个(ruby)标签&lt; %%&gt;在同一个标签内。
在 erb (嵌入式红宝石)中,一个&lt;%=%&gt;标签里面没有其他标签。
此代码导致语法错误。
<%= link_to "Edit", .... "data-target" => "<%= post.id %>-my-modal" %>
如果您打算在标记内输出/呈现数据并引用为字符串, 使用 #{put_data_hare}
输出如:
<%= link_to "Edit", .... "data-target" => "#{post.id}-my-modal" %>
在其他情况下,您可以这样做:
post.id.to_s + "-my-modal"