У меня есть много сквозных отношений в моем приложении rails, где уникальность ассоциации подтверждается следующим образом:
class Foo < ActiveRecord::Base
...
has_many :foo_bars
has_many :bars, :through => :foo_bars, :uniq => true
validates_associated :foo_bars
...
end
И это прекрасно работает, но я хочу, чтобы в моем контроллере выяснилось, было ли успешным создание новой ассоциации между существующим foo и bar. Примерно так:
if @myFoo.bars << @bar
...
end
, но это не работает, потому что метод << возвращает массив всех баров myFoo, не true / false. Я знаю, что для этого должен быть правильный «путь рельсов», но я не знаю, что это такое (единственное, о чем я могу подумать, это проверить, изменилось ли количество связанных баров после запроса, но это выглядит действительно неаккуратно) , Есть предложения? </p>