单个部分的多种形式

时间:2011-04-25 22:51:08

标签: ruby-on-rails ajax

我有一个单一的表格部分:

<% form_remote_for(@snapshot_comment, :html => { :class => "snapshot_comment", :id => "snapshot_comment" }, :auth_key => params[:auth_key]) do |f| %>
 some stuff...
      <span class="button"><%= f.submit 'Submit &raquo;' %></span> 
      or <a href="#" class="cancel">cancel</a>

<% end %>

通过jQuery(定位snapshot_id)多次将工具提示输入到页面中。这很有效:

//Insert class and partial by targeting snapshot id
$j('<div class="info"><%= escape_javascript(render :partial  => "snapshot_comments",
                       :locals => {
                       :snapshot => @snapshot,
                       :comments => @comments
                       })
     %></div>').appendTo("#slide_<%= @snapshot.id %>");

partial(snapshot_comments)包含表单的代码:

<%= render_snapshot_comment_form_for snapshot %>

问题在于,当数据发布时 - 它会发布与页面上的表单一样多的次数。

因此,如果用户输入信息并单击提交---内容将插入每个工具提示中,而不仅仅是其所属的工具提示。我正在使用Qtip2。

有没有办法提交特定于其所在工具提示的表单?

1 个答案:

答案 0 :(得分:1)

如果表单从同一部分每页呈现多次,那么听起来您的元素ID在该页面中从表单到表单都是相同的。

如果您的元素没有唯一ID,则会将响应放入显示该ID的每个位置。

例如 - 如果你有一个页面将结果放入id为“output”的div中,并且该div从部分渲染5次(每次具有相同的id“output”),那么你我会看到5次回复。

在结果页面上执行“查看源”,并查找重复的ID,看看是否属实。