【问题标题】:a Facebook "like" or Twitter "follow" system - in Rails 3一个 Facebook “like” 或 Twitter “follow” 系统 - 在 Rails 3 中
【发布时间】:2012-07-27 22:52:33
【问题描述】:

谁能指出我正确的方向,了解如何实现一个类似于 facebook 的“like”或 Twitter 的“Follow/Unfollow”系统的系统,我可以在 Rails 中创建?

据我了解,我需要使用 Unobtrusive Javascript。

我有一个 Thing 模型(has_many :likes)和一个 Like 模型(belongs_to :thing)

任何指针?

【问题讨论】:

  • 如果你是从 RoR 开始的,你可以看看ruby.railstutorial.org/ruby-on-rails-tutorial-book(我买了视频)。这个非常好。他正在做一个示例项目,正在创建一个类似 twitter 的网站,所以它非常接近您的需求。
  • “喜欢”和“关注”是两个截然不同的问题。
  • 基本上我希望用户可以说他/她喜欢/使用某物。所以我为“喜欢”创建了一个模型。我希望当用户单击“喜欢/使用”按钮时(取决于是否已经存在)创建了一个新的“喜欢”对象,然后“喜欢”按钮更改为“不喜欢/未使用”的状态- 这样就可以做相反的事情。有什么想法吗?

标签: ruby-on-rails-3 facebook-like twitter-follow


【解决方案1】:

您可以对一个函数进行 ajax 调用,并在该函数中实现您喜欢的任何功能,(在本例中为“follow”),您可以这样做:

[link_to_function][1]

Incase ,您使用的是 rails 3.2.4 并且已弃用,您可以使用(来自 jeremy 的评论。 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

【讨论】:

  • 感谢你们的 cmets 伙计们。将检查一切并报告。谢谢! @d34th4ck3r - 我在哪里可以阅读有关实现该模块的信息?那是我放在“事物”助手中的东西吗?干杯
  • 您可以通过本教程了解如何实现完整的“关注”功能:ruby.railstutorial.org/chapters/following-users#top。但是,如果您只对 ajax 部分感兴趣,可以直接阅读:ruby.railstutorial.org/chapters/…
猜你喜欢
  • 2013-02-23
  • 2023-03-06
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
相关资源
最近更新 更多