2009-11-19 61 views
1

我想爲我在Ruby on Rails中創建的博客添加一個「喜歡」的功能,讓人們「豎起」一篇文章。然後,我希望能夠在側邊欄中顯示最喜歡的帖子。我是rails新手,所以很大程度上依賴於教程和堆棧溢出。任何良好的資源或甚至稱之爲什麼。我對這個問題進行了「投票」。投票功能Ruby on Rails - 簡單問題

回答

8

您應該查看link_to_remote並使用帶有rails的AJAX。這裏是一個很好的教程開始:http://railsonedge.blogspot.com/2008/03/tutorial-beginning-ajax-with-rails-20.html

的想法是:

  • 用戶點擊「投票」

  • 它發送異步消息給控制器,保存票。 (使用link_to_remote

  • 的:complete回調做一些事情

  • 的(如 「感謝您的投票!」):更新改變了投票區(如 「投6票這一點。」)

關於這個問題有很多tutorials


編輯:我寫了一段時間,從那時起,最佳實踐已經改變。現在請看看如何使用unobstrusive JavaScript來做到這一點。良好的資源包括瑞安Bates Bates's railscast #205wikipedia article瞭解原則。

「非侵入式JavaScript」是在JavaScript 編程語言 新興技術, 萬維網上的使用。雖然期限不 正式的定義,其基本原則 通常被理解爲包括:

  • 的從Web頁面的 結構/內容的功能(在 「行爲層」),並呈現分離

  • 的最佳做法,以避免問題的傳統JavaScript的 編程 (如瀏覽器的不一致性和 缺乏擴展性)

  • 漸進增強,以支持可能不支持 先進的JavaScript功能[

+0

真棒的人表示感謝。只是不知道在哪裏看。這有很大幫助。 – bgadoci 2009-11-19 14:46:48

+0

不客氣。開始時很難找到文檔。考慮閱讀一本關於軌道的書,如果你想真正掌握它的一切。我在這裏列出了一些答案:http://stackoverflow.com/questions/1386469/best-ruby-and-ruby-on-rails-books – marcgg 2009-11-19 14:58:56

2

我知道這是不是正是你所尋找的 用戶代理,但有一個非常好的"star-rating" plugin,你可以看看有什麼想法。它使用阿賈克斯和所有那些禮物;)

2

這本書簡單的Rails 2有類似的東西(投票了,投票下來的東西),你可能想要拿起它只是因爲它是一個很好的本書讓你開始做事。

簡單的Rails 2