读书人

RubyChina怎么实现喜欢功能

发布时间: 2012-09-18 16:21:42 作者: rapoo

RubyChina如何实现喜欢功能?
RubyChina有一个喜欢功能,具体的表现可以查看每一个帖子的页面
如:
http://ruby-china.org/topics/5272

实现的代码解析如下:

在topics/show.html.erb页面中, 有如下代码

  # 收藏东西  def like(likeable)    return false if likeable.blank?    return false if likeable.liked_by_user?(self)    likeable.push(:liked_user_ids, self.id)    likeable.inc(:likes_count, 1)  end
like方法就是想数组中push 数据

以上功能的实现,使用了 Ruby的 module 引入和 duck type, 有很多值得学习的地方。

读书人网 >Ruby Rails

热点推荐