Javascript 未传递到远程窗体的正确对象

Javascript 未传递到远程窗体的正确对象,javascript,ruby-on-rails,ruby-on-rails-3,Javascript,Ruby On Rails,Ruby On Rails 3,我的站点的每个用户都有自己的配置文件页面,其中包含同一类的多个项,称它们为job_items,它们是job类的实例变量。我正在为每个项目添加编辑功能。每一项我都有 <%= link_to "edit", job_item, :onclick => "$('#edit_job').modal();", :remote => "true" %> “$('#编辑作业”).modal();”,:remote=>“true”%> 我想提出一个包含适当形式的模态: ... <

我的站点的每个用户都有自己的配置文件页面,其中包含同一类的多个项,称它们为job_items,它们是job类的实例变量。我正在为每个项目添加编辑功能。每一项我都有

<%= link_to "edit", job_item, :onclick => "$('#edit_job').modal();", :remote => "true" %>
“$('#编辑作业”).modal();”,:remote=>“true”%>
我想提出一个包含适当形式的模态:

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

但是,每当我单击“编辑”时,无论我在哪个作业项中单击“编辑”,模式都会显示同一作业项的表单,即页面上的第一个表单。如何设置要在表单中编辑的作业项?我很困惑,因为如果我将鼠标放在编辑链接上,会显示正确的作业url,但它不会传递到javascript模式。

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

:onclick => "$('#edit_job_#{job_item.id}').modal();" 

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

哇,谢谢你。在这里,我想关于变量的范围,有一些基本的东西我不理解。我只是在我的模态id中使用了erb,并按照你上面所说的做了,现在一切都正常了。