gpt4 book ai didi

ruby-on-rails - Has-Many 和 Belongs-to-one 关系

转载 作者:行者123 更新时间:2023-12-04 05:11:41 24 4
gpt4 key购买 nike

我正在尝试跟踪用户创建的 signup_conversions 数量。
因此,我有以下两个模型:

signup_conversion.rb

class SignupConversion < ActiveRecord::Base
belongs_to :user
belongs_to :convertee, :class_name => "User", :foreign_key => 'convertee_id'
attr_accessible :convertee_id
end

用户名
class User < ActiveRecord::Base
attr_accessible :name, :email, :password, :password_confirmation
belongs_to :signup_conversion
has_many :signup_conversions
end

这会这样吗?还是我在这里遗漏了一些重要的东西?

最佳答案

我没有试过代码,但我给你一些提示,希望你觉得有用。

  • 我想每个has_many/has_one声明应该有其通讯员belongs_to ,所以三个 belongs_to和一个 has_many看起来不太好。
  • 我不确定 has_one :signup_conversionhas_many :signup_conversions一起玩会很好,所以我宁愿改变名字。我也更改了其他名称以尝试使关联更清晰,尽管我不确定我是否完全理解它们所代表的真实概念。你可能会想出更好的名字。
  • 默认情况下,外键被猜测添加后缀 _id到关联名称,因此在这种情况下您不需要指定它。另外,我认为您不需要使该属性可访问,至少不需要关联工作。

    signup_conversion.rb
    class SignupConversion < ActiveRecord::Base
    belongs_to :owner , :class_name => "User"
    belongs_to :convertee, :class_name => "User"
    end

    user.rb
    class User < ActiveRecord::Base
    attr_accessible :name, :email, :password, :password_confirmation
    has_one :owned_signup_conversion , :class_name => "SignupConversion"
    has_many :triggered_signup_conversions, :class_name => "SignupConversion"
    end
  • 关于ruby-on-rails - Has-Many 和 Belongs-to-one 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14844221/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com