有三个model:
[code]
class Category < ActiveRecord::Base #category.rb
has_many :employees
end
class Employee < ActiveRecord::Base #employee.rb
belongs_to :category
has_one :bio
end
class Bio < ActiveRecord::Base #bio.rb
belongs_to :employee
end
[/code]
为了获得一个Category下具有Bio的Emplyee的一个Collection,我们可以用以下这个语句:
[code]
@bios = @category.employees.collect { |employee| employee.bio }.compact
[/code]
其中:compact的作用是去掉数组中值是nil的元素。
参考:[url=http://www.ruby-forum.com/topic/86564#new]http://www.ruby-forum.com/topic/86564#new[/url]
[code]
class Category < ActiveRecord::Base #category.rb
has_many :employees
end
class Employee < ActiveRecord::Base #employee.rb
belongs_to :category
has_one :bio
end
class Bio < ActiveRecord::Base #bio.rb
belongs_to :employee
end
[/code]
为了获得一个Category下具有Bio的Emplyee的一个Collection,我们可以用以下这个语句:
[code]
@bios = @category.employees.collect { |employee| employee.bio }.compact
[/code]
其中:compact的作用是去掉数组中值是nil的元素。
参考:[url=http://www.ruby-forum.com/topic/86564#new]http://www.ruby-forum.com/topic/86564#new[/url]