Они оба будут выполнять одну и ту же работу.
Преимущество: random_photo_1 заключается в том, что вы можете легко загружать все ассоциации "случайных фотографий" всякий раз, когда вы находите несколько продуктов, которые действительно повышают производительность.если вы собираетесь показывать большое количество товаров и случайное их фото на вашем видении.
#:include will eagerly load the associations
@products = Product.find(:all, :include => :random_photo_1)
Затем, когда вы повторяете для своего просмотра значение @products
, если вы делаете:
@products.each do |product|
#This will not do a new select against the database
<%= product.random_photo_1 %>
end