Twitterのリポストシステムに似たものを実装したいので、これを例として使用します。では、Tweet モデルがあり、他のユーザーが別のユーザーの特定のツイートを再投稿できるようにしたいとしましょう。データベースに保存されているすべてのツイートを受信するために使用するときに、再投稿にもアクセスできるように、ツイートに retweet クラスを配置するのはクールなアイデアだと思いました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
重要:搬送波と互換性がある必要があります。