2012-06-11 92 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事件。

它完全满足了我在数据库中创建一个对象的需求,包括传递的数据。

相关问题