2011-07-29 117 views
1

當生成帖子列表時,我希望登錄的用戶能夠點擊明星來收藏該帖子。有關如何通過ajax做到這一點的任何建議?我想我會用這個many_to_many關係,但只是不確定在rails上發佈超過ajax。ruby​​ on rails ajax fav按鈕的帖子

+0

你使用導軌2或3? –

+0

使用rails 3 --- – stewart715

回答

2

首先:你的協會可以是具有連接表更明確,像UserFavourites(USER_ID,POST_ID),然後執行:

# user.rb 
has_many :user_favourites 
has_many :favourites, :through => :user_favourites, :class_name => "Post" 

然後在你的觀點,你可以創建一個收藏夾鏈接(明星形象)並假設該鏈接的ID爲favourite。然後,你可以使用jQuery(或其他),並做:

$("#favourite").click(function() { 
    $.ajax({ 
     url: "https://stackoverflow.com/users/add_favourite", 
     data: {some_data_you_may_want_to_send: the_data}, 
     success: function(html){ 
      //do something here if you want 
     } 
    }); 
}); 

這就需要用戶的一些控制器動作稱爲add_favourite,你可以把它返回一些HTML或返回任何結果,只是添加的收藏給用戶。

+0

是不是更好地返回json或某種真/假反饋? –

+0

是的,這是由OP決定的。這取決於他想要什麼。我會同意某種真實/錯誤的反饋將是理想的情況下出了問題。 – MrDanA

+0

你們能給我一些T/F反饋的幫助嗎?我真的很陌生,非常感謝你的幫助! – stewart715