7

我正在尝试在 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 中渲染,

4

2 回答 2

9

我假设您想从编辑页面以外的页面加载模式。

data-remote通过自己编写链接并使用指定要加载的远程页面,我可以在我的应用程序中使用它。例如

<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指定要将部分渲染到的模式。

编辑.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>
于 2013-09-09T02:31:45.333 回答
9

另一种方法是这样的:

只需创建一个远程链接:

link_to "edit", edit_ticket_path(ticket), class: "btn btn-mini", remote: true

然后在您的视图中,添加一个 edit.js.erb 文件:

$("#myModal").html("<%= j render 'new' %>");
$('#myModal').modal('show');

并将您的 new.html 文件更改为 _new.html

于 2014-01-09T09:50:03.300 回答