0

我想暗示一些类似于 Twitter Repost System 的东西,因此我将以此为例。所以假设我有一个推文模型,我想允许其他用户重新发布另一个用户的特定推文,我该如何实现这样的事情?我认为将转发类放入推文中以便在我用来接收存储在数据库中的所有推文时也能够访问转发是一个很酷的主意Tweet.all,但不知何故我没有按预期工作......以下代码只是一个示例,它应该显示即使它不工作也应该如何实现这一点......有什么想法可以建立一个工作的转发模型,它还允许我通过使用访问推文和转发Tweet.all

class Tweet
  class Retweet
    include DataMapper::Resource

    belongs_to :user, key => true
    belongs_to :tweet, key => true
  end

  include DataMapper::Resource
  property :text, String
  property :timestamp, String

  belongs_to :user
end

重要提示:我应该与载波兼容。

4

1 回答 1

0
class Tweet
  include DataMapper::Resource
  property :id, Serial
  has n, :retweets, 'Tweet', :child_key => :parent_id
  belongs_to :parent, 'Tweet', :required => false
  belongs_to :user

  def is_retweet?
    self.parent_id ? true : false
  end
end

original = Tweet.create :user => user1
retweet = Tweet.create :parent => original, :user => user2
retweet.is_retweet? # => true
于 2012-07-16T15:52:19.370 回答