'User', :co-6ren">
gpt4 book ai didi

ruby-on-rails - rails 中的 sti 和 has_many

转载 作者:行者123 更新时间:2023-12-04 13:29:41 25 4
gpt4 key购买 nike

class Register < User
end

class Admin < User
end

class Project < ActiveRecord::Base
has_many :admin, :class => 'User', :conditions => "type = 'admin'"
has_many :registers, :class => 'User', :conditions => "type = 'registers'"
end

这里的问题是,当我使用项目 has_many 创建注册或管理员时,它不会自动将对象类填充到类型文件中。

像这样: project.admins.new .

如何解决这个问题?

最佳答案

您应该能够直接指定 has_many 关系,而无需告诉 Rails 该类是 User。像这样:

class User < ActiveRecord::Base
belongs_to :project
end

class Register < User
end

class Admin < User
end

class Project < ActiveRecord::Base
has_many :admins
has_many :registers

def make_new_admin
ad = admins.create(:name => "Bob")
# ad.type => "Admin"
end
end

关于ruby-on-rails - rails 中的 sti 和 has_many,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3116530/

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