2012-07-27 64 views
1

任何人都可以指出我在正確的方向瞭解如何實現類似於Facebook的「喜歡」或Twitter的「Follow/Unfollow」系統我可以在Rails中創建?Facebook的「喜歡」或Twitter的「跟隨」系統 - 在Rails 3

從我的理解我需要使用不顯眼的Javascript。

我有一件事模型(的has_many:喜歡)和像模型(belongs_to的:事)

任何指針?

+1

如果您從開始的回報率,你可以在http://ruby.railstutorial.org/看看ruby-on-rails-tutorial-book(我買了視頻演員)。這個很棒。他正在做一個示例項目,在那裏創建一個類似於網站的推特,所以它非常接近您的需求。 – choise 2012-07-27 22:59:33

+0

「喜歡」和「跟隨」是兩個非常不同的問題。 – mikeycgto 2012-07-27 23:14:24

+0

基本上我想讓用戶可以說他/她喜歡/使用一件東西。所以我創建了一個「喜歡」的模型。我希望當用戶點擊「like/use」按鈕(取決於是否已經存在)時,會創建一個新的「like」對象,然後將「like」按鈕更改爲「不同/不使用」狀態 - 這樣才能完成相反的任務。有任何想法嗎? – adamteale 2012-07-27 23:22:46

回答

1

你可以做AJAX調用的函數,實現任何你喜歡的功能,函數內,(在這種情況下,「跟隨」),你可以做到這一點有:

[link_to_function][1] 

櫃面,你是使用Rails 3.2.4,它棄用,你可以使用(這是傑里米的評論 https://gist.github.com/rails/rails/pull/5922#issuecomment-5770442):

module LinkToFunctionHelper 
    def link_to_function(name, *args, &block) 
    html_options = args.extract_options!.symbolize_keys 

    function = block_given? ? update_page(&block) : args[0] || '' 
    onclick = "#{"#{html_options[:onclick]}; " if html_options[:onclick]}#{function}; return false;" 
    href = html_options[:href] || '#' 

    content_tag(:a, name, html_options.merge(:href => href, :onclick => onclick)) 
    end 
end 
+0

感謝您的評論球員。將檢查全部並報告回來。謝謝! @ d34th4ck3r - 我可以在哪裏閱讀實現該模塊?那是我放入我的「事物」助手的東西嗎?歡呼聲 – adamteale 2012-07-27 23:11:54

+1

您可以通過本教程學習如何實現完整的「關注」功能:http://ruby.railstutorial.org/chapters/following-users#top。然而,如果你只對ajax部分感興趣,你可以直接閱讀:http://ruby.railstutorial.org/chapters/following-users#sec:a_working_follow_button_with_ajax – d34th4ck3r 2012-07-28 06:38:45