0

jqueryを使用してクリック時に部分的にレンダリングしています。これがそのコードです

$('.actCell').click(function (){
    alert('Load was performed.');
    $.get('/policies/new', function(data) {
        $('.policyAddForm').html(data);

    });
});

ここにコントローラーコードがあります

 def new
    @policy = Policy.new
    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @policy }
    end
 end

これは私のapplication.htmlです

<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>Passport</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width">

  <%= stylesheet_link_tag "application", :media => "all" %>

</head>
<body>


<div class="header">
  <div class="container">
    <img src="/assets/ph_logo.png">
    <div class="user"><%=current_user.email%> <div class="userDrop"></div></div>
    <div class="userDropMenu">
      <div class="userActRow">change password</div>
      <div class="userActRow">sign out</div>
    </div>
  </div>
</div>

<div class="nav">
  <div class="container">
    <%= yield %>
  </div>
</div>

<%= javascript_include_tag "application" %>
<%= yield :javascript %>

</body>
</html>

上記のコードの問題は、レイアウトがめちゃくちゃになることです。部分的な形式で更新した Div はヘッダーを表示するため、レイアウト内のレイアウトですが、client_validation_gem プロパティが機能します。layout false と言うとすぐに、レイアウトの問題は修正されますが、client_side_validation gem プロパティが失われます。何が問題なのかわからず、本当にイライラしています。ヘルプや指示は非常に役立ちます。ありがとう、

4

2 に答える 2

0

最後に私は理解しました。古いので rails.validations.js ファイルを削除する必要があります。'$('form[data-validate]').validate();' を追加します。@Davidが提案したようにjsファイルに。手伝ってくれてありがとう

于 2013-07-10T14:47:18.603 に答える