提交按钮在模态对话框中的simple_form中不起作用

时间:2014-04-15 14:14:36

标签: jquery ruby-on-rails twitter-bootstrap modal-dialog form-submit

最近我完成了一个工作正常的Rails应用程序,但后来我尝试切换到Unicorn服务器以利用工作进程。我部署它并且有些东西坏了所以我回到了旧的Webrick服务器,但是顺便说一下,因为当我尝试再次部署它时,我在Bootstrap的模态中的提交按钮的按钮没有用。点击时他们什么也没做。请注意,这仅适用于引导模式内的表单提交按钮。

以下是一个表格的代码示例:

<div>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="text-center">Nuevo Usuario</h3>
<div class="modal-body">
    <%= simple_form_for(@user) do |f| %>
    <%= f.error_notification %>
    <%= display_base_errors resource %>
    <%= f.input :name, :autofocus => true, :label => false, :placeholder => 'Nombre', :input_html => { :class => "input-block-level" } %>
    <%= f.input :email, :label => false, :placeholder => 'Email', :input_html => { :class => "input-block-level" } %>
    <%= f.input :role_ids, :collection => Role.all, :label => false, :prompt => "Selecciona un rol", :input_html => { :class => "input-block-level" } %>
</div>
<div class="modal-footer">
      <%= f.button :submit, "Crear", :class => 'btn-info'  %>
    <% end %>
    <a href="#" class="btn" data-dismiss="modal">Cerrar</a>
</div>

这是通过一个div中的AJAX调用的,如:

<div id="user-modal" class="modal hide fade modal-medium"></div>

我看过每一个解决方案而一无所获。有人能帮我吗? 它是一个带有bootstrap 2.3的Rails 3.2应用程序和用于表单的simple_form gem。

编辑:我最近发现这只发生在Chrome和Firefox中,但在Safari中运行得很好

1 个答案:

答案 0 :(得分:6)

我遇到了同样的问题。在用firebug进行一些分析后,我发现它不起作用的原因是浏览器会自动渲染标记,在我们的情况下过早。

如何修复 非常简单,移动&lt;%= simple_form_for(@user)do | f | %GT;开头,如:

<%= simple_form_for(@user) do |f| %>    
<div>
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 class="text-center">Nuevo Usuario</h3>
    <div class="modal-body">

        <%= f.error_notification %>
        <%= display_base_errors resource %>
        <%= f.input :name, :autofocus => true, :label => false, :placeholder => 'Nombre', :input_html => { :class => "input-block-level" } %>
        <%= f.input :email, :label => false, :placeholder => 'Email', :input_html => { :class => "input-block-level" } %>
        <%= f.input :role_ids, :collection => Role.all, :label => false, :prompt => "Selecciona un rol", :input_html => { :class => "input-block-level" } %>
    </div>
    <div class="modal-footer">
          <%= f.button :submit, "Crear", :class => 'btn-info'  %>
        <% end %>
        <a href="#" class="btn" data-dismiss="modal">Cerrar</a>
    </div>