У меня похожий вопрос к этому парню Rails: как ограничить количество элементов в ассоциации has_many (из Parent)
Ключ в том, что я хотел бы сделать это на Array.push, а не на атрибуте: before_save ассоциации has_many. В Java я, вероятно, сделал бы .windows приватным и создал бы свой собственный метод доступа. Не уверен, смогу ли я сделать это с помощью методов ActiveRecord, которые доступны как результат ассоциации.
Есть предложения?
Спецификация, которую я пытаюсь передать:
it "should not accept anymore windows" do
channel = Channel.new #with default 3 windows
channel.windows.length.should == 3
channel.windows.push Window.new
channel.windows.length.should == 3
end