Mik*_*eC8 4 ruby sinatra ruby-datamapper
我刚刚开始使用DataMapper,我正在试图弄清楚为什么需要指定a has和a belongs_to.
例如,查看DataMapper网站上的示例.这不是多余的吗?如果发表has n评论,那么评论会自动belongs_to发布吗?为什么我必须指定这个?
class Post
include DataMapper::Resource
property :id, Serial
has n, :comments
end
class Comment
include DataMapper::Resource
property :id, Serial
property :rating, Integer
belongs_to :post # defaults to :required => true
def self.popular
all(:rating.gt => 3)
end
end
Run Code Online (Sandbox Code Playgroud)
仅当您要使用额外规范生成的方法时,才指定关系的两侧.它完全是可选的:如果你永远不需要Post从Comment(例如@comment.post)获取,你将不必指定belongs_to关系Comment.
一个优点是您的实例更清晰,因为Comment其他方法不会自动生成.另一方面,如果你需要它们,那些额外的方法不会打扰你.
另请参阅ActiveRecord中有关关联的文档.
| 归档时间: |
|
| 查看次数: |
1548 次 |
| 最近记录: |