Ruby on rails sti和SU在轨道上有很多 类寄存器“type='registers'” 结束
这里的问题是,当我使用project创建注册表或管理员时,它不会自动将对象类填充到类型字段中 如下所示:Ruby on rails sti和SU在轨道上有很多 类寄存器“type='registers'” 结束,ruby-on-rails,Ruby On Rails,这里的问题是,当我使用project创建注册表或管理员时,它不会自动将对象类填充到类型字段中 如下所示:project.admins.new 如何解决这个问题?您应该能够直接指定has\u many关系,而不需要告诉Rails类是用户。像这样: class Register < User end class Admin < User end class Project < ActiveRecord::Base has_many :admin, :class =>
project.admins.new
如何解决这个问题?您应该能够直接指定has\u many关系,而不需要告诉Rails类是用户。像这样:
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
class用户“Bob”)
#ad.type=>“Admin”
结束
结束
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