2012-04-03 60 views
0

我的站点的每个用户都有自己的配置文件页面,其中包含同一类的多个项目,称它们为作业类别的实例变量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

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

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

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

+0

哇,谢谢一个男人。在这里,我认为有一些基本的东西我不了解变量的范围。我只是在我的模式中使用了erb,并且做了上面所说的,现在一切正常。 – 2012-04-04 14:47:21