代码之家  ›  专栏  ›  技术社区  ›  Nick

Rails ActiveRecord-有多个到并且属于一个相关的模型

  •  0
  • Nick  · 技术社区  · 16 年前

    我有三个模型

    class Site < ActiveRecord::Base
      has_many :users, :through => :user_favorites
    
    class UserFavorite < ActiveRecord::Base
      belongs_to :user, :counter_cache => true
      belongs_to :site
    end
    
    class User < ActiveRecord:Base
      has_many :user_favorites
      has_many :sites, :through => :user_favorites
    

    所有这些都很好。我想向站点模型添加一个新属性,以指示是哪个用户创建的。

    我不相信这构成了一个有很多情节的场景。一个网站有许多用户通过用户的收藏夹,但我希望它属于一个单一的用户反映所有者/创建者。

    我想知道ORM的最佳实践是什么。在SQL方面,我只会根据我试图用FK在站点中创建的链接查询的内容使用不同的连接。抱歉,我漏了一些基本的东西。

    谢谢

    1 回复  |  直到 16 年前
        1
  •  0
  •   Matchu    16 年前
    class Site < ActiveRecord::Base
      belongs_to :creator, :class_name => 'User'
      # ...
    end
    

    应该足够了。对吗?同一个模型之间可以有多个关系,但在这种情况下,为组织目的显式地命名它们是非常有益的。

    推荐文章