2012-06-11 90 views
0

我正在使用Ruby on Rails,並且我想調用控制器方法作爲我的預先存在的鏈接的onclick事件。使用jQuery AJAX在客戶端調用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> 

但這不是工作.. 的任何解決方案,將不勝感激。

回答

0

你的網址看起來不對。運行rake routes以獲取應用中現有路線的列表。

應該像

url: "/user_profile/save_user_history" 

url: "/user_profiles/save_user_history" 
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事件。

它完全滿足了我在數據庫中創建一個對象的需求,包括傳遞的數據。

相關問題