我正在使用Ruby on Rails,我想调用一个控制器方法作为我预先存在的链接的onclick
事件。
我正在使用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 :(得分:0)
您的网址看错了。运行rake routes
以获取应用中现有路线的列表。
应该像
url: "/user_profile/save_user_history"
或
url: "/user_profiles/save_user_history"
答案 1 :(得分:0)
感谢您回答Stefan。
我改变了我的代码:
<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事件。
它满足了我在传递数据的数据库中创建对象的要求。