0

我正在使用 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>

但这不起作用..任何解决方案将不胜感激。

4

2 回答 2

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 回答
0

您的网址看起来不对。运行rake routes以获取应用程序中现有路线的列表。

应该是这样的

 url: "/user_profile/save_user_history"

或者

 url: "/user_profiles/save_user_history"
于 2012-06-11T10:08:11.073 回答