2

所以我有一个用户模型:有许多其他模型,如文档、视频、帖子等。当我从 User 模型执行“do”块时,我的问题出现了,如下所示:

has_many :posts do
    def recent
      find(:all, :order => 'created_at desc', :limit => 12)
    end
  end

这只是让我调用 user.posts.recent 之类的东西来仅查找与用户关联的那些帖子。有了这个,我怎么还能添加一个 :dependent => :destroy 或 :dependent => :delete_all 到这个关联?到目前为止,我所尝试的一切都对我有误。

4

2 回答 2

3

看起来你应该看看使用named_scope

你没有理由对你的协会设置一个 do 块。

您应该将最近的方法转换为命名范围,然后您可以添加 :dependent => destroy 等。

祝你好运!

于 2008-11-11T21:28:55.190 回答
-1

这应该可以正常工作AFAIK:

has_many :posts, :dependent => :destroy do
    def recent
      find(:all, :order => 'created_at desc', :limit => 12)
    end
  end
于 2008-11-12T04:17:11.310 回答