【发布时间】:2010-06-23 02:45:02
【问题描述】:
我正在使用一个允许用户将新内容添加到装运箱的产品。例如:
用户正在设置一个货件,每个货件可以包含多个箱子,每个箱子可以包含多个内容。
所以我有link_to_remote 像这样连接:
在我的部分货箱中:
<div class="shipping_box" id="shipping_box">
#some code
<%= link_to_remote "Add box conents", :url => {:action=> 'add_box_contents'} %>
</div>
在add_box_contents.rjs:
page.insert_html :bottom, "shipping_box", :partial => 'box_content', :object => BoxContent.new
在_box_content.erb
<div class="box_contents" id="box_contents">
box contents partial rendered
</div>
对于我的第一个运输箱,一切正常,但是当动态添加第二个运输箱时,_box_content.erb 部分始终呈现在第一个箱的 <div> 中。当然这是因为 id 被指定为shipping_box,并且所有盒子共享这个 id。那么我的问题是,如何在 div 中为正确的包含框部分呈现新的框内容,而不仅仅是删除第一个框?
此屏幕截图显示了第一个框,其中包含 2 条动态添加的内容行(下拉菜单)。我希望第二个框的“添加订单行项目”行向我的第二个框的内容添加一个下拉列表。 alt text http://img12.imageshack.us/img12/6274/screenshot20100622at114.png
【问题讨论】:
-
出于好奇,您使用的是 jRails 插件吗? (希望如此;那么我们可以使用 jQuery)
-
目前没有,但如果这是最干净的方式,我可以。你有什么建议?
标签: ruby-on-rails rjs erb