У меня проблемы с этой ассоциацией.
Мне нужно получить массив праймериз, которые принадлежат солдатам во взводе. Итак, однажды я собрал всех солдат во взводе
@company = Company.find_by_id (1)
@platoons = @ company.platoons
<% @platoons.each do |p| %>
<%= p.soldiers.primaries.find(:all,:conditions => ["relationship = ? AND contacted = ?", 'Spouse', 'Yes'])) %>
<% end %>
*** Так что нет никакого метода для основных цветов, я предполагаю, что это потому, что я пытаюсь вызвать ассоциацию в массиве. У солдат есть взвод_ид, но у праймериз нет, у них есть связь только с солдатами в этом взводе. Как мне это сделать? Мне нужно, чтобы вернуть массив праймериз. Заранее спасибо!
class Soldier < ActiveRecord::Base
belongs_to :company
belongs_to :platoon
has_many :primaries, :dependent => :destroy
end
class Platoon < ActiveRecord::Base
belongs_to :company
belongs_to :battalion
has_many :soldiers
end
class Primary < ActiveRecord::Base
belongs_to :soldier
belongs_to :company
end