【问题标题】:rails - help setting up models - has_one - belongs_torails - 帮助设置模型 - has_one - belongs_to
【发布时间】:2023-04-08 23:13:01
【问题描述】:

我有一个关于模型的简单查询。

我有一个模型 -

class User < ActiveRecord::Base
  has_one :interest
end

还有一个——

class Interest < ActiveRecord::Base
  belongs_to :donor
end

我的兴趣表预先插入了兴趣 - “足球”、“游泳”、“网球” 每个用户只能有一个兴趣,但一个兴趣可以有多个用户。

我目前的设置似乎只允许一个用户感兴趣。 我究竟做错了什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord model associations


    【解决方案1】:

    只需在Interest 上设置has_many 和在User 上设置belongs_to。记住 Rails 在命名事物时的约定:

    belongs_to :interest
    

    ..和...

    has_many :users
    

    【讨论】:

    • 感谢您的快速回复。它仍然无法正常工作。我需要设置迁移吗?
    • 是的,在这种情况下,您需要将列添加到名为:interest_idUser,并从iterests 表中删除未使用的列:user_id