新手问题 做个豆瓣 / 人人那样的 “分享” 功能?

cqcn1991 · 2013年02月19日 · 最后由 cqcn1991 回复于 2013年02月20日 · 2069 次阅读

微博,twitter,facebook 上都没有看到类似的功能。似乎就是直接发微博/tweet/status 了,让用户发链接,然后加#分类标签# 豆瓣/人人,都是贴链接,然后抓内容,然后生成“广播”

请问一下这方面到底要用到什么技术?

我自己就查到 screen scrap……

分享功能有很多公司做啊 bSharejiathis等 直接在页面嵌入一段他们的 JS 就够了。

#1 楼 @Magic 额,不是推荐到别的网站,是推荐到“本站”

看看多态表的设计:http://cn.asciicasts.com/episodes/154-polymorphic-association 结构如:

class Share
  belongs_to :user
  belongs_to :sharable, polymorphic: true    
  filed :comment
end

创建的时候:

Share.create(user: current_user, sharable: @post, comment: "foo bar")

获取的时候查出来,根据 sharable_type 这个的类型用不同的 view 展示就好了

比如这样的结构

views
-- shares
---- index.html.erb
---- _post.html.erb
---- _photo.html.erb
---- _item.html.erb

views/shares/index.html.erb

<% @shares.each do |share| %>
  <div class="share">
     <%= user_name_tag(share.user) %> 分享:
     <%= render partial: share.sharable_type.downcase, :share => share %>
     at <%= share.created_at %>
<% end %>

#3 楼 @huacnlee 老大出马了……好强大,我都不好意思继续问下去了。 但是还是得继续问……就是怎么实现 link 的预览功能?记得 discourse 里面号称贴了 LINK 就可以预览,我去翻一翻……

需要 登录 后方可回复, 如果你还没有账号请 注册新账号