rails 4 js仅适用于页面重新加载

时间:2014-05-27 03:09:22

标签: jquery ruby-on-rails turbolinks

当我重新加载页面时,表单可以正常工作,但如果我从我的应用程序导航它会打破远程:true表单。我的应用程序上的所有其他js工作正常。 我有宝石jquery.turbolinks.Please让我知道,如果你需要任何其他信息。

show.js

$(".score_box<%= escape_javascript(@inspection_component.id.to_s) %>").html("Puntuación: <%= escape_javascript(@inspection_component.score.to_s) %>");
 $("#<%= escape_javascript(@inspection_component.id.to_s) %>").collapse('hide')

这是我的index.html.erb

<div class='panel-collapse collapse' id="<%= inspection_component.id%>">
        <div class='panel-body'>
          <div class="field">
            <%= bootstrap_form_for inspection_component, remote:true, :html => {:class => 'form-inline'} do |f| %>
                <div class="form-group">
                  <%= f.select(:score, inspection_component.score_values, { :class => "form-control",label:"Puntuación" }) %>
                </div>
                <div class="form-group">
                  <%= f.submit 'Update', class: "btn btn-success" %>
                  <%= link_to 'Editar', edit_inspection_component_path(inspection_component), {:class=> "btn btn-default"} %>
                  <%= link_to 'Eliminar', inspection_component, {:class=> "btn btn-danger",method: :delete, data: { confirm: 'Are you sure?'}} %>
                </div>
            <% end %>
          </div>
        </div>
      </div>
    </div>
  <% end %>
</div>

更新解决方案

首先,我想赞扬@Jeff Big,在此post

中提出问题的解决方案

解决方案是我有一个表格的部分表格,而且表格标签缺少两个非常重要的标签th和tr

这就是我的表单标签在第一个表单标签之后关闭的原因。像这样:

<form accept-charset="UTF-8" action="/inspection_components/4" class="edit_inspection_component" data-remote="true" id="edit_inspection_component_4" method="post"><div style="display:none"><input name="utf8" type="hidden" value="✓"></form>

1 个答案:

答案 0 :(得分:1)

首先,我想赞扬@Jeff Big,在此post

中提出问题的解决方案

解决方案是我有一个表格的部分表格,而且表格标签缺少两个非常重要的标签th和tr

这就是我的表单标签在第一个表单标签之后关闭的原因。像这样:

<form accept-charset="UTF-8" action="/inspection_components/4" class="edit_inspection_component" data-remote="true" id="edit_inspection_component_4" method="post"><div style="display:none"><input name="utf8" type="hidden" value="✓"></form>