1

我想向我在 Ruby on Rails 中创建的博客添加“点赞”功能,让人们“点赞”帖子。然后我希望能够在侧栏中显示最喜欢的帖子。我是 Rails 新手,所以严重依赖教程和堆栈溢出。任何好的资源或者这甚至叫什么。我假设为这个问题“投票”。

4

4 回答 4

8

您应该查找 link_to_remote 并将 AJAX 与 rails 一起使用。这是一个不错的入门教程:http ://railsonedge.blogspot.com/2008/03/tutorial-beginning-ajax-with-rails-20.html

这个想法是:

  • 用户点击“投票”

  • 它向控制器发送异步消息以保存投票。(使用link_to_remote

  • :complete 回调做了一些事情(例如“感谢投票!”)

  • :update 改变投票区(例如“voted. 6 votes on this”)

有很多关于这个主题的教程。


编辑:我前段时间写过,从那以后最佳实践发生了变化。现在请看一下如何使用不显眼的 javascript 来做到这一点。好的资源包括 Ryan Bates Bates 的 railscast #205wikipedia 文章以了解原理。

“Unobtrusive JavaScript”是 JavaScript 编程语言中的一种新兴技术,在万维网上使用。尽管该术语没有正式定义,但其基本原则通常被理解为包括:

  • 将功能(“行为层”)与网页的结构/内容和表示分离

  • 避免传统 JavaScript 编程问题的最佳实践(例如浏览器不一致和缺乏可扩展性)

  • 逐步增强以支持可能不支持高级 JavaScript 功能的用户代理[

于 2009-11-19T14:35:48.647 回答
2

我知道这不是您正在寻找的,但是有一个非常好的“星级”插件,您可以查看一些关于该做什么的想法。它使用 ajax 和所有的好东西;)

于 2009-11-19T14:47:18.517 回答
2

《Simply Rails 2》这本书有类似的东西(投赞成票,投反对票之类的东西),你可能想拿起它,因为它是一本让你开始做事的好书。

简单的 Rails 2。

于 2009-11-19T16:30:26.340 回答
2

用于 rails 3 的gem thumbs_up用于 rails 2 的 gem vote_fu。* 应用程序可以帮助您...

于 2011-02-19T10:23:35.690 回答