正确的对象不传递给远程表单

时间:2012-04-03 17:42:09

标签: javascript ruby-on-rails ruby-on-rails-3

我网站的每个用户都有自己的个人资料页面,其中包含同一个类的多个项目,称之为job_items,它们是作业类的实例变量。我正在为每个项目添加编辑功能。在我有的每个项目

<%= link_to "edit", job_item, :onclick => "$('#edit_job').modal();", :remote => "true" %>

我想提出一个包含适当形式的模态:

...
<div class="modal-body">
 <%= semantic_form_for(job_item, :html => { :class => "form-horizontal" }) do |f| %>
...
<% end %>

但是,无论何时单击编辑,无论我单击哪个job_item进行编辑,模式都会显示相同job_item的表单,即页面上的第一个。如何设置我想在表单中编辑哪个job_item?我很困惑,因为如果我将鼠标悬停在编辑链接上,则会显示正确的作业网址,但它不会传递给javascript模式。

1 个答案:

答案 0 :(得分:1)

您的页面中是否有可能有多个ID为“edit_job”的元素?如果是这样,$('#edit_job')将只选择第一个,因为它假定id是唯一的。你可以通过确保id是唯一的

来解决这个问题
:onclick => "$('#edit_job_#{job_item.id}').modal();" 

并相应地更改相应的元素ID。