0

onclickRuby on Rails を使用しており、既存のリンクのイベントとしてコントローラー メソッドを呼び出したいと考えています。

私はjQueryとAJAXを使って同じことをしています。しかし、私は AJAX についてあまり知りません。

これが私のコードです。

<script type="text/javascript">
$("a.browse_history").live("click", function()
{
    alert("i am here");
    $.ajax({     
    url: "/user_profile_controller.rb/save_user_history",     
    type: 'PUT'   
    }); 
});
</script>

user_profile_controller.rb

def save_user_history 
  $doc_list << "hello hi"
end

そして、私のリンクは次のとおりです。

<a href="http://localhost:3000/documents" id="browse_history" class="browse_history">Click here</a>

しかし、これは機能していません..解決策をいただければ幸いです。

4

2 に答える 2

0

URL が間違っているようです。を実行rake routesして、アプリ内の既存のルートのリストを取得します。

次のようなものでなければなりません

 url: "/user_profile/save_user_history"

また

 url: "/user_profiles/save_user_history"
于 2012-06-11T10:08:11.073 に答える
0

返信ありがとうございます。

コードを次のように変更しました。

<script type="text/javascript">
function u_profile(user,url,query)
{

    $.ajax({     
        type: 'POST' ,
        url: "http://localhost:3000/user_profiles",  
        data : {
            user_profile : {                         
                user_id : user ,                      
                query_term : query,
                visited_url: url
            }                     
        } ,  
        success: function(data){
            alert(data);
        }
    }); 
};  
</script>

そして、リンクのonclickイベントとして呼び出しています。

渡されたデータを使用してデータベースにオブジェクトを作成するという私の要件を完全に満たします。

于 2012-06-13T09:23:07.883 に答える