ruby-on-rails - 如何通过 has_many 关系创建指定类型的对象?

标签 ruby-on-rails ruby activerecord

考虑以下几点:

class Person < ActiveRecord::Base   
end

class Man < Person
end

class Woman < Person
end


class Society < ActiveRecord::Base
    has_many :person

    def addPeople
        people.create(:name => "bill")
        people.create(:name => "sue")
    end
end

如何定义这个人的类型?例如,我想以男性身份创建 bill,以女性身份创建 sue。执行此操作的正确方法是什么?

最佳答案

通过类指定对象的类型

class Society < ActiveRecord::Base
  has_many :persons

  def add_people 
    self.persons << Man.create name: 'bill'
    self.persons << Woman.create name: 'sue'
  end
end

关于ruby-on-rails - 如何通过 has_many 关系创建指定类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19576790/

相关文章:

mysql - 本地数据库和生产环境之间 SQL 查询运行时间的惊人差异

ruby-on-rails - 如何将特定的 gem 版本设置为默认版本?

objective-c - 如何在 RubyMotion 中实现 OSX 上的图像按钮?

ruby-on-rails - 如何逃脱? (问号)运算符在 Rails 中查询 Postgresql JSONB 类型

php - __call 捕获静态方法调用

ruby-on-rails - 如何使用 rspec 测试条件 ActiveRecord after_update 回调?

ruby-on-rails - Rails 4 - 无法连接到 rails 4 上的数据库表

ruby-on-rails - 在 Rails 4 中扩展数组而不创建新类

ruby - 类、模块、它们的特征类和方法查找

javascript - 在文档完全加载之前执行主干脚本