内容被加载到两个模态中

时间:2016-02-13 07:09:40

标签: ruby-on-rails modal-dialog bootstrap-modal

Rails应用程序中使用了两种模式。

  1. 一个模态用于编辑(#editModal)
  2. 另一个用于显示文本(#textModal)
  3. 两个模态的

    link_to是:

    <%= link_to edit_user_path(user), {:remote => true, 'data-toggle' => "modal", 'data-target' => '#editModal', 'data-backdrop' => 'static', :class => "icon-edit" } do %> 
        Edit
    <% end %> 
    
    <%= link_to display_path(data), {:remote => true, 'data-toggle' => "modal", 'data-target' => '#textModal', 'data-backdrop' => 'static', :class => "icon-edit" } do %> 
        Display
    <% end %> 
    

    _editModal.html.erb

    <div id="editModal" class="modal fade edit-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                </div>
                <div class="modal-body">
                    <%= render 'shared/ajax_load' %>
                </div>
            </div>
        </div>
    </div>
    

    _textModal.html.erb

    <div id="textModal" class="modal fade edit-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                </div>
                <div class="modal-body msg-body">
                    <%= render 'shared/ajax_load' %>
                </div>
            </div>
        </div>
    </div>
    

    问题是当点击任何链接时会显示一个模态,但the content is loaded into both the modals

    我做错了什么或它是如何运作的?

1 个答案:

答案 0 :(得分:0)

嗯......是的,是的。

你做错了什么......以及它是如何运作的。 :)

我可以在你的两个模态中看到的唯一区别是id。其他所有事情都是一样的......即使是部分渲染:<%= render 'shared/ajax_load' %>

这意味着,无论何时单击任何按钮,部分'shared/ajax_load'都会被填充,并且在您刷新页面之前将保持填充。

<强>修正:

我可以在这里轻易提出两件事:

1)您可以决定为两个模态

渲染单独的部分

2)您可以决定使用JS来填充模态(如果您想使用单个部分):那么您将拥有控件来清除部分的内容,然后填充它并渲染到各个模态

希望我能够解释并希望你理解这一点。