item_id = $(element).data('id')
$.ajax
url:
type: 'get'
data: { 'item_id': item_id }
dataType: 'json'
success: (response) ->
...
error: (response) ->
...
options_ids = [1, 2]
Element.includes(:options).where('options.id': options_ids).group('elements.id, options.id').having('COUNT(options.id) = ?', options_ids.size)
Выход есть такой - агрегируем сначала товары по user_id, потом проходим .each() по записям и вытаскиваем заказы по условию WHERE user_id=user.id и там пушим в массив.
products_hash = Products.bla-bla-bla.group_by(&:user_id)
orders_hash = Orders.bla-bla-bla.group_by(&:user_id)
products_hash.merge(orders_hash){ |key, oldval, newval| Тут ваш код, который правильно сопоставит данные из двух массивов }
От гугла вот что нашел, но все равно ошибка выходит
@conversion = Conversion.joins(:track)
.select('SUM(conversions.revenue) as sum_revenue, COUNT(*) as count_conversions')
.group('tracks.campaign_id')
.where(:tracks => { :campaign_id => campaign_id })
.order('tracks.campaign_id ASC')
.first
@conversion ||= Conversion.new
@count_conversions = @conversion.count_conversions if @conversion
@count_conversions
было число@count_conversions = @conversion.try(:count_conversions).to_i .
Перед удалением записи из model1, необходимо проверить наличие записей в model2 и при наличии записей в model2, запретить удаление записи из model1.
Обычные валидации при удалении не срабатывают. Если вызвать свою валидацию через before_destroy и вернуть в ней false исключение сработает и запись не удалится. Подобное выглядит как ошибка rails и в консоли мы видим ActiveRecord::RecordNotDestroyed (ActiveRecord::RecordNotDestroyed), в связи с чем, сообщение (errors message) до пользователя не доходит.
destroy!
вместоdestroy
class Lesson < ActiveRecord::Base
belongs_to :course
belongs_to :group
end
class Attendance < ActiveRecord::Base
belongs_to :lesson
belongs_to :bid
end
reload
получает данные из кэша, если они там лежат. Test.uncached do
Test.find(id)
end