我正在尝试在Rails中使用Bootstrap模式来编辑记录,但我无法将模式范围扩展到当前记录
静态链接
<%= link_to "Weigh Out", edit_ticket_path(ticket), "data-toggle" => "modal", :class => 'btn btn-mini', :id => 'edit_modal_link', "data-toggle" => "modal" %>
我真的需要在id / edit上调用模式,这是票号,但无法将其链接到表中的选定记录。
有什么想法吗?
或渲染部分但必须使用可用的故障单调用部分,它是否正确定位到我们需要编辑的故障单?
我的部分看起来像
<%= form_for @ticket, :html => { :class => 'form-horizontal' } do |f|%>
<div class="control-group">
<%= f.label :customer_name, :class => 'control-label' %>
<div class="controls">
<%= f.hidden_field :customer_id, :class => 'text_field', :id =>"cust_id" %>
<%= f.autocomplete_field :customer_name, autocomplete_customer_name_customers_path, :id_element => '#cust_id', :class => 'text_field ui-autocomplete-input' %>
</div>
需要在Modal中渲染,
答案 0 :(得分:10)
我假设您要从编辑页面以外的页面加载模态。
我已经通过自己编写链接并使用data-remote
指定要加载的远程页面在我的应用程序中工作了。 e.g
<a data-toggle="modal" data-target="#myModal" data-remote="<%= edit_ticket_path(ticket) %> #modal-edit-fields" class="btn btn-mini>Weigh out</a>
data-target
指定要将部分渲染到的模态。
edit.html.erb
<%= render 'edit_ticket_fields' %>
_edit_ticket_fields.html.erb (这可以直接在edit.html.erb中)
<div id="modal-edit-fields">
<%= form_for @ticket, :html => { :class => 'form-horizontal' } do |f| %>
<div class="control-group">
<%= f.label :customer_name, :class => 'control-label' %>
<div class="controls">
<%= f.hidden_field :customer_id, :class => 'text_field', :id =>"cust_id" %>
<%= f.autocomplete_field :customer_name, autocomplete_customer_name_customers_path, :id_element => '#cust_id', :class => 'text_field ui-autocomplete-input' %>
</div>
</div>
答案 1 :(得分:7)
另一种方法就是这样:
只需创建一个远程链接:
link_to "edit", edit_ticket_path(ticket), class: "btn btn-mini", remote: true
然后在您的视图中添加edit.js.erb文件:
$("#myModal").html("<%= j render "new"%>");
$('#myModal').modal('show');
并将您的edit.html和new.html文件更改为_new.html和edit.html