Теперь я решил эту проблему, используя следующий код в моей модели:
validates_uniqueness_of :main_image, :scope => [:asset_id], :if=>:main_image
, поскольку: main_image имеет значение true или false, это говорит о том, что нужно взять поле main_image и убедиться, что оно уникально для каждогоasset_id, только если оно истинно, потому что, если оно не истинно, оно вернет false и, таким образом, пропустит проверку, если модель уникальна.