Jquery 在Rails中将数据从循环传递到局部单击
我在Jquery 在Rails中将数据从循环传递到局部单击,jquery,ruby-on-rails,bootstrap-modal,Jquery,Ruby On Rails,Bootstrap Modal,我在category/1中有一个项目列表,这些项目以循环方式显示,我在页面底部有一个模式,使用 我正在尝试将数据传递到模式,单击下面的按钮时,该模式将弹出:- 模态本身:- <div class="modal fade" id="updateItemModal" tabindex="-1" role="dialog" aria-labelledby="updateItemModalLabel" aria-hidden="true"> <div class="modal-d
category/1
中有一个项目列表,这些项目以循环方式显示,我在页面底部有一个模式,使用
我正在尝试将数据传递到模式,单击下面的按钮时,该模式将弹出:-
模态本身:-
<div class="modal fade" id="updateItemModal" tabindex="-1" role="dialog" aria-labelledby="updateItemModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="updateItemModalLabel">Change Item</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<!-- UPDATE TITLE HERE? -->
<%= item.title??? %>
</div>
</div>
</div>
</div>
修改项目
&时代;
因此,当在特定项目上单击编辑标题按钮时,我必须将正确的项目传递到我的数据标签中,并在模式中呈现来自该标题的内容。如果我的模态在循环之外,那么最好的方法是什么?我需要一些JS吗
另外,在我的控制器中,我可以访问大约有100个项目的@category
,也就是说,我无法从控制器中获取特定项目,因为页面上有很多项目。这里最简单的方法是使用ajax请求打开模式,并在js.erb文件的帮助下以编辑模式呈现表单,但这也需要一个请求-响应周期
渲染链接
<%= link_to 'Update Record', edit_item_path(item.id) %>
<div id='renderModal'></div>
然后创建edit.js.erb,在div'renderModal'中呈现模态部分
$('#renderModal').empty().append("<%= j render partial: 'item_edit_modal'%>")
$('#updateItemModal').modal()
$('#renderModal').empty().append(“”)
$('#updateItemModal').modal()
从开发人员的角度来看,这既简单又快速,但还有第二种方法
如果您想在用户体验方面以更快的方式完成,那么您应该使用api来处理这件事。
使用api时,您需要在按钮/链接、“数据id”或任何其他形式中保留对记录的引用,以便识别需要更新的记录。例如,您可以将标题作为数据属性添加到按钮。时钟结束后,读出信息并将其添加到模式中。另一种方法是在单击按钮后发出API请求以获取此信息。