我正在构建一个模仿我最喜欢的应用程序的示例rails应用程序。我想对照片和照片的重新发布照片回复 - 类似于您通过Twitter回复和转发的方式。我应该创建一个单独的关系模型来捕获照片回复和重新发布,还是应该处理照片模型中的所有内容。
class Photo < ActiveRecord::Base
attr_accessible :caption, :source, :source_remote_url, :source_file_name,
has_attached_file :source
validates_attachment_content_type :source
belongs_to :user
has_many :replies
has_many :reposts
def source_remote_url=(url_value)
self.source = URI.parse(url_value) unless url_value.blank?
super
end
def replies
join_table
end
def replies?(other_user)
join_table.find_by_replied_id(other_user.id)
end
def reply!(other_user)
join_table.create!(replied_id: other_user.id)
end
答案 0 :(得分:0)
您应该为回复和转发制作另一个模型。因为一张照片有许多来自不同人群的转推,也有不同的转推。
在这种情况下,我会创建一个Photo模型,一个Retweet模型和一个Reply模型。