【问题标题】:Setup model for company-users-relations model公司-用户-关系模型的设置模型
【发布时间】:2011-11-22 08:53:15
【问题描述】:

我在设置模型时有些吃力。我的公司有很多用户并且有很多关系。当我在视图中显示关系时,它应该只显示属于公司的关系(否则其他公司的用户也会看到它们!)。我当前的模型设置是:

公司有_many用户 用户属于公司

公司有_many关系 关系属于公司

users has_many 关系 关系属于用户

我在想,当用户登录时,您应该能够请求“current_user.relations”之类的内容,并且由于模型关系,它只会显示当前登录用户的公司关系.这是真的吗?我该如何实施?

干杯, 约翰

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:
    class User < ActiveRecord::Base
      belongs_to :company
    end
    
    class Company < ActiveRecord::Base
      has_many :relations
    end
    

    然后在控制器中:

    current_user.company.relations 
    

    将返回用户公司的关系。

    【讨论】:

    • 谢谢。但是当我随后询问关系的联系人时,我会假设它是“current_user.company.relations.contacts.find:all”,但这会返回“在模型公司中找不到关联:relation”错误。 (公司 has_many :contacts, :through => :relation 和 contact belongs_to 关系)
    • 使用current_user.company.contacts,正如您在Company 上定义的contacts,但不要使用has_many :contacts, :through =&gt; :relation,而是使用has_many :contacts, :through =&gt; :relations
    猜你喜欢
    • 2018-07-15
    • 2014-10-24
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多