0

リソースアイテムを含むレールアプリケーションがあります。いくつかのハンドラーを追加すると、ページが変更されるとそれらが削除されることに気付きました。

    <%=link_to "Add fund","#",:class=>"addfund btn btn-primary"%>
    <form class="addfundform hide"action="<%=addFund_item_path :id=>item.id %>">
      <input type="text" name="fund">
      <input type="submit" value="Add" class="btn">
      <a href="#" class="cancelfund btn btn-warning" >Cancel</a>
    </form>

addfundform はデフォルトで非表示になっており、addfund をクリックすると、addfundform フォームが表示されます。

$(document).ready(function(){


function showfundform(){
    console.log("Hello")
    var $item=$(this);
    $item.next("form").show();
    return false;
}

$(".addfund").click(showfundform)


})

addfund ボタンをクリックすると、フォームが表示されます。ただし、キャンセルボタンをクリックすると消えます。(まだ何も追加していないので、これはおかしいです) この後、addfund ボタンは何もしません。ハンドラーが削除されたかのように。また、商品ページに行かないと。新しいアイテム ページに移動してからアイテム ページに移動すると、ハンドラーがロードされていません。

私はajax経由で何もフェッチしていないので、これはかなり奇妙です。これは Rails4 アプリです。ターボリンクに関するエラーが表示されましたが、これ以上はわかりません

4

1 に答える 1

0

Rails 4 には Turbolinks の機能が付属しており、問題が発生しているようです。次の手順を実行します:-

//= require turbolinks を app/assets/javascripts/application.js から削除します。app/views/layouts/application.html.erb から 2 つの "data-turbolinks-track" => true ハッシュ キー/値のペアを削除します。

そして、あなたは行く準備ができているはずです。

于 2013-08-23T10:59:11.147 に答える