Ruby on rails Rails:使用has\u many:through建模简单的数据
我对宠物和兽医有一套非常简单的数据要求Ruby on rails Rails:使用has\u many:through建模简单的数据,ruby-on-rails,data-modeling,has-many-through,Ruby On Rails,Data Modeling,Has Many Through,我对宠物和兽医有一套非常简单的数据要求 主人可以养很多宠物 宠物可以有一个主人 宠物可以由(属于)许多兽医治疗 兽医可以治疗(有很多)宠物 所有者和兽医都是使用STI的用户的子类 下面是一些代码: class Owner < User has_many :pets has_many :veterinarians, :through => :pets end class Veterinarian < User attr_accessible :clinic_na
主人可以养很多宠物
- 宠物可以有一个主人
- 宠物可以由(属于)许多兽医治疗
- 兽医可以治疗(有很多)宠物
所有者
和兽医
都是使用STI的用户
的子类
下面是一些代码:
class Owner < User
has_many :pets
has_many :veterinarians, :through => :pets
end
class Veterinarian < User
attr_accessible :clinic_name
has_many :pets
has_many :owners, :through => :pets
end
class Pet < ActiveRecord::Base
attr_accessible :name, :date_of_birth, :species, :breed, :gender, :neutered
belongs_to :owner
belongs_to :veterinarian
end
类所有者:宠物
结束
兽医级<用户
可访问属性:诊所名称
你有很多宠物吗
有很多:主人,:到=>:宠物
结束
类Pet
以下是失败的规范:
it "has various veterinarians" do
o = Owner.make!(:email => 'owner1@gmail.com')
v1 = Veterinarian.make!(:email => 'vet_1@gmail.com')
v2 = Veterinarian.make!(:email => 'vet_2@gmail.com')
p = Pet.make!(:name => 'fluffy')
o.pets << p
v1.pets << p
v2.pets << p
o.pets.should have(2).records
o.veterinarians.should have(2).records
end
它“有各种各样的兽医”做什么
o=所有者。制造!(:email=>'owner1@gmail.com')
v1=兽医。制造!(:email=>'vet_1@gmail.com')
v2=兽医。制造!(:email=>'vet_2@gmail.com')
p=Pet.make!(:name=>fluffy')
o、 宠物您必须在宠物和兽医之间使用联接表。我们称之为治疗
:
class Treatment < ...
...
belongs_to :pet
belongs_to :veterinarian
...
end
class Veterinarian < ...
...
has_many :treatments
has_many :pets, through: :treatments
...
end
class Pet < ...
...
has_many :treatments
has_many :veterinarians, through: :treatments
...
end
class处理<。。。
...
属于:宠物
属于:兽医
...
结束
职业兽医<。。。
...
有很多治疗方法吗
有很多宠物,通过治疗
...
结束
宠物类。。。
...
有很多治疗方法吗
有很多:兽医,通过治疗
...
结束
您必须在宠物和兽医之间使用联接表。我们称之为治疗
:
class Treatment < ...
...
belongs_to :pet
belongs_to :veterinarian
...
end
class Veterinarian < ...
...
has_many :treatments
has_many :pets, through: :treatments
...
end
class Pet < ...
...
has_many :treatments
has_many :veterinarians, through: :treatments
...
end
class处理<。。。
...
属于:宠物
属于:兽医
...
结束
职业兽医<。。。
...
有很多治疗方法吗
有很多宠物,通过治疗
...
结束
宠物类。。。
...
有很多治疗方法吗
有很多:兽医,通过治疗
...
结束