@rubylang

Страница 1317 из 1684
Vasiliy
29.12.2017
11:51:32
Туда ж можно лямбду

biert
29.12.2017
12:00:24
Приветствую господа, такой вопрос, один и тот же запрос к Active record дает разные результаты в rails console и в приложении, что я могу делать не так

Eugene
29.12.2017
12:00:37
дата?

Date.parse делаешь?

Google
biert
29.12.2017
12:01:03
нет

Reservation.where('status IN (?) and user_id = ?', (0..3), @current_user.id)

вот такой примитивный запрос

No
29.12.2017
12:02:19
Reservation.where('status IN (?) and user_id = ?', (0..3), @current_user.id)
Reservation.where(status: 0..3, user_id: @current_user.id)

Alan
29.12.2017
12:02:20
No
29.12.2017
12:02:28
попробуй так и проверь

v
29.12.2017
12:02:55
Reservation.where('status IN (?) and user_id = ?', (0..3), @current_user.id)
а кто у нас current_user в консоли?

Eugene
29.12.2017
12:03:09
ксатти, Миксам прав

твой запрос странный

либо делать ,как он

либо (0..3).join(‘,’) вроде

biert
29.12.2017
12:03:59
query моего SELECT "reservations".* FROM "reservations" WHERE (status IN (0,1,2,3) and user_id = 1) ORDER BY "reservations"."id" DESC LIMIT $1 [["LIMIT", 1]]

v
29.12.2017
12:04:03
Google
biert
29.12.2017
12:04:16
того что вы предлагаете SELECT "reservations".* FROM "reservations" WHERE ("reservations"."status" BETWEEN $1 AND $2) AND "reservations"."user_id" = $3 ORDER BY "reservations"."id" DESC LIMIT $4 [["status", 0], ["status", 3], ["user_id", 1], ["LIMIT", 1]]

и ваш почему-то быстрее работает

Eugene
29.12.2017
12:04:41
потому что рельсы дохуя умные

in заменили на бетвин

v
29.12.2017
12:04:56
и ваш почему-то быстрее работает
потому что IN отсутствует

Eugene
29.12.2017
12:05:21
а если еще поставишь индекс, что будет

No
29.12.2017
12:05:27
хардкод жи
да, но я же не знаю остального кода, просто идею набросил исходя из того, что есть

Eugene
29.12.2017
12:05:53
хардкод был по условиям)

No
29.12.2017
12:06:34
и ваш почему-то быстрее работает
с нашим проблема решилась? или осталась та же?

Artur
29.12.2017
12:06:48
No
29.12.2017
12:06:49
если та же - ты уверен, что у тебя есть @current_user, выше уже спрашивали )

biert
29.12.2017
12:06:50
еще не протестировал

100% есть ибо не прошел бы запрос

и в query в логах видно что id получает

v
29.12.2017
12:07:57
он есть

но вопрос, кто он

No
29.12.2017
12:08:29
biert
29.12.2017
12:09:06
не понимаю

кажется я понимаю в чем дело

рельсы автоматически limit доставляют

Google
biert
29.12.2017
12:11:03
когда делаю тот же запрос с last то показыввает то как должно быть

Eugene
29.12.2017
12:11:26
дичь какая-то

No
29.12.2017
12:11:32
рельсы автоматически limit доставляют
не должны, если только у тебя какого-то пагинатора в модели не подключено

если подключено - тоже не должно быть

default_scope?

Vasiliy
29.12.2017
12:11:54
дефолт скоуп

biert
29.12.2017
12:12:21
paginate json: reservations_list, each_serializer: UserReservationSerializer, include: ['driver', 'user', :driver => 'car'], page: params[:page], per_page: params[:per_page]

но

No
29.12.2017
12:12:34
слабо могу представить, зачем мог понадобится дефолт скоуп с лимитом

так что думаю не он

biert
29.12.2017
12:12:42
я же вызываю не через сериалайзер а через актив рекорд

насчет default scope то я не понимаю о чем вы

Eugene
29.12.2017
12:13:29
per_page у тебя солкько?

1?

Sergey
29.12.2017
12:14:06
Да можно было прям в чате спросить )

Eugene
29.12.2017
12:14:13
да

Sergey
29.12.2017
12:14:15
тут много нас )

No
29.12.2017
12:14:24
им ваще не впадлу пописат ьна эликсире
не в падлу - это одно, другое - так же эффективно и правильно, как они умеют на руби

в этом разница

Google
Aldar
29.12.2017
12:14:30
не нашли еще, спросил
так им вроде много надо

Eugene
29.12.2017
12:14:40
никакого не нашли)

No
29.12.2017
12:14:51
эликсир - совсем другой стиль кодинга и задает другие требования, это время на изучение новых концепций и привыкание к ним

Eugene
29.12.2017
12:14:52
Да можно было прям в чате спросить )
а я кстати не видел, что ты тут)

No
29.12.2017
12:14:56
сорян за подъем старой темы опять )

Aldar
29.12.2017
12:14:58
мало денех наверное предлагают

Eugene
29.12.2017
12:15:03
у нас один из главных эликсирщиков как раз из рубиста поулчился

biert
29.12.2017
12:15:22
делаю в rails console Reservation.where(user_id: 1, status: 3)

Admin
ERROR: S client not available

biert
29.12.2017
12:15:36
оно автоматически limit 11 ставит

но почему

Eugene
29.12.2017
12:16:06
дефолт скоуп?))

No
29.12.2017
12:16:30
alteregoizm
29.12.2017
12:17:00
никакого не нашли)
не все хотят в рокетбанк, да и после плохого пиара вакансии, тоже осадочек

biert
29.12.2017
12:17:21
дефолт скоуп?))
прочитал, наконец-то понял о чем вы, не нету у мнея такого в модели

alteregoizm
29.12.2017
12:18:33
чо за пиар?
да там на @lizunsosun завлекали народ, долго описывать, хз утекло ли во внешние интернеты из чатика

Eugene
29.12.2017
12:18:51
а че плохого в Лизе?

No
29.12.2017
12:18:55
прочитал, наконец-то понял о чем вы, не нету у мнея такого в модели
Ну, не должны рельсы по дефолту никаких лимитов в запрос добавлять, ищи в этом направлении, почему и откуда он берется

biert
29.12.2017
12:19:35
спасибо, хотя бы уже знаю в чем копать)

Google
alteregoizm
29.12.2017
12:20:22
а че плохого в Лизе?
не хочу опять тему поднимать, ничего плохого в ней нет

Eugene
29.12.2017
12:22:45
biert
29.12.2017
12:24:46
какой-то gem может как-то инджектить этот лимит?

Иван
29.12.2017
12:24:47
Я когда то точно сталкивался с limit 11

Причем именно 11

Который ни на что не влиял

biert
29.12.2017
12:25:10
воо

gem 'api-pagination'

гем нашел

Иван
29.12.2017
12:25:40
Непонятно откуда он брался и самое главное что не работал

biert
29.12.2017
12:25:51
у меня работает)

Иван
29.12.2017
12:26:09
То есть в результате выдавалось не 11 записей из бд

biert
29.12.2017
12:26:51
мне 11

и когда из этого результата делаешь last

то показывает как надо

Eugene
29.12.2017
12:27:25
когда делаешь last - делает limit 1

biert
29.12.2017
12:27:34
да

Eva
29.12.2017
12:27:42
ознакомился, да, гавно, согласен)
2к17 уже заканчивался, а разработчиков всё ещё хантили на женское тело

biert
29.12.2017
12:28:00
я имею ввиду что оно загружает полный массив данных, но показывает только часть

а мне нужны все

Eugene
29.12.2017
12:28:39
лэйзи эвалуйшон же. Если ты написал last, то будет лимит 1 в запросе

Страница 1317 из 1684