【问题标题】:how to add one more connection to a model?如何向模型添加更多连接?
【发布时间】:2015-04-19 16:24:48
【问题描述】:

例如,我有 2 个模型:

ticket.rb

belongs_to :user

用户.rb

has_many :tickets, dependent: :destroy

在表格中我有门票

t.integer  "user_id"

这一切都很好。但是,如果我希望添加一个新字段 assignee_id,并且应该是来自同一个表 Users 的用户,该怎么办? 我可以只添加一个字段assigne_id 并用我需要的user_id 填充它,但我想使用@ticket.assignee.name 之类的构造,就像我用于@ticket.user.name 一样。请问您能帮帮我吗?

【问题讨论】:

    标签: ruby-on-rails activerecord model assign


    【解决方案1】:

    你可以这样做,Rails 允许你将一堆参数传递给belongs_to。在您的情况下,您需要指定关联的foreign keyclass name


    这是您可以将assignee 加入到user 表的方法

    #ticket.rb
    belongs_to :assignee, foreign_key: "assignee_id", class_name: "User"
    

    来源:edgeguides.rubyonrails.org

    来源:api.rubyonrails.org

    【讨论】:

    • 谢谢!不知何故,您的行不起作用,但是在我这样写之后起作用了: belongs_to :assignee, class_name: "User", foreign_key: "assignee_id"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    相关资源
    最近更新 更多