
Alex
20.11.2017
12:43:31
Это фильтр товаров, придет строка с ID опций. Я её преобразую в массив и для каждого значения массива надо сделать AND

Fedor
20.11.2017
12:44:10
and или or ?

Alex
20.11.2017
12:44:14
value: [12345, 45789, 54123, 654789]
именно AND

Google

Fedor
20.11.2017
12:45:05
звучит очень странно, но тогда можно либо строку сформировать с запросом и передать
либо сделать скоуп, и в нем value.each { |i| where(val: i)}
тоесть просто много where друг за другом накатить

Alex
20.11.2017
12:46:28
Есть отдельная таблица Items и есть ItemProperty, нужно будет выбрать те товары, которые удовлетворяют ВСЕМ опциям, которые пришли от фронта
Не знал, что в scope можно поместить each, пойду смотреть как это сделать. Спасибо

Fedor
20.11.2017
12:49:08
не за что
передаешь в качестве параметра массив, и потом по массиву делаешь each

Alex
20.11.2017
12:50:25
scope :value, -?value) { joins(:item_properties).where(item_properties: { property_value_id: value }) }
Да, вот сейчас у меня такой scope, но запрос он формирует where property_value IN [12345, 45789, 54123, 654789]

Dmitry
20.11.2017
13:16:49
Так в понедельник на новую работу
В следующий.
10 юбилейное собеседование

Andrey
20.11.2017
13:18:24

Google

Dmitry
20.11.2017
13:18:47
Биг маки продавать
Разумеется бекэнд рейлс разработчик)

Andrey
20.11.2017
13:19:42

Dmitry
20.11.2017
13:19:59
А я там уже был, это вторая работа.)

Andrey
20.11.2017
13:20:18
А я что, то последний месяц наблюдаю за Вакансиями в Харькове, по RoR Junior
Вообще все глухо..

Dmitry
20.11.2017
13:23:43
Атакуй все руби вакансии
Спрашивай Джун не нужен ли?

Andrey
20.11.2017
13:30:24

Roman
20.11.2017
13:31:55
С сопроводительным

Dmitry
20.11.2017
13:32:45

Andrey
20.11.2017
13:34:23
Отличная идея)
Спасибо.. )
ну, пока что, руку набью, а то, после олимпиадных задач как то, все грустно )
на работке начал делать CRM(ку) для принятия и обработки заявок (интернет провайдер)

Vitaly
20.11.2017
13:34:38
я нашел работу еще более хитрым путем - просто гуглил конторы, которые у себя на сайтах в стеке руби указывали
и писал
т.е. не по вакансиям

Dmitry
20.11.2017
13:38:08
В мск проблем с вакансиями нет, если проблема что дотработы можно ехать 2 часа в одну сторону, а там офис дно дном)

Andrey
20.11.2017
13:40:13

Dmitry
20.11.2017
13:41:57
Я ещё сегодня в Интерфакс должен был ехать на собеседование
Но получил оффер рядом с домом можно сказать

Svetlana
20.11.2017
13:49:13

Google

Dmitry
20.11.2017
13:49:27
Спасибо)

Alex
20.11.2017
13:57:52
@FedorKoshel , сделал вот так вот:
https://pastebin.com/MJuPs1Zj
но он возаращает 0
хотя там точно есть items с такими property_value_id

Fedor
20.11.2017
14:03:21
а если вручную сформировать запрос работает?
смотри, ты когда Join делаешь, у тебя получается произведение множеств
тоесть если у тебя есть item A у которого есть item_properties B и C, то ты получишь две строки: AB и AC
и ни одна из них не будет удовлетворять условию A and B and C
поэтому я и сказал что условие вглядит странным
по сути тебе надо вытянуть Item.includes(:item_properties) а потом проверить что в этом массиве есть все что тебе нужно
или можно попробовать сделать фильтрацию на уровне SQL после join
это будет вложенный запрос, и достаточно сложный, я так сходу не напишу )
или можно сделать несколько джоинов...
тоесть сджойнить item_properties столько раз, сколько у тебя есть условий с разными названиями, а потом отфильтровать то, где все значения не NULL

Fedor
20.11.2017
14:09:14
но это будет множественное произведение множеств, это очень тяжелый и долгий запрос получится
вообще для такого поиска хорошо elastic подходит )

Alex
20.11.2017
14:10:50
вот оно что (((
попробую через includes
Благодарю за информацию.
Просто через scope в одну строку не получится значит (

Fedor
20.11.2017
14:11:13
да, не выйдет

Nickolay
20.11.2017
15:22:10
Почему руби округляет не по математическим правилам? Например:
0.050001.ceil(4)
=> 0.0501А должно вывести 0.0500
Плохой пример навел, этот лучше
> 0.050001.ceil(2)
=> 0.06

Konstantin
20.11.2017
15:23:43
все верно он округляет

Adel
20.11.2017
15:23:57
Да, верно

Google

Konstantin
20.11.2017
15:24:11
https://ruby-doc.org/core-2.2.0/Float.html#method-i-ceil
Proxyz прочтите ?

Nickolay
20.11.2017
15:24:35
Ну как бы да, но не по законам математики

Konstantin
20.11.2017
15:24:43
потому что это метод ceil
он округляет в большую
всегда
даже если меньше 5
есть метод floor

Admin
ERROR: S client not available

Konstantin
20.11.2017
15:25:19
он округляет в меньшую всегда
хочешь по математическим - используй метод round

Nickolay
20.11.2017
15:26:54

Konstantin
20.11.2017
15:27:05
Не бывает глупых вопросов)
а вообще Well-grounded Rubyist

Fedor
20.11.2017
15:55:42
а что в роутах написано?
именно в файле
и как запрос делается?

Olga
20.11.2017
15:56:42
роут файл
resources :galeris
мм.. всмысле запрос ?

Fedor
20.11.2017
15:58:47
ну выглядит так, что приходит запрос вида:
127.0.0.1:3000/galeris/edit

Google

Fedor
20.11.2017
15:59:05
а дожно быть 127.0.0.1:3000/galeris/1/edit

Olga
20.11.2017
15:59:50
а как исправить?)

Fedor
20.11.2017
16:00:03
правильно запрос отправлять
или path писать
типа edit_galery_path(galery)
где galery - предопределенная переменная, ссылающаяся на галерею
или edit_galery_path(id: 1)

Olga
20.11.2017
16:01:23
<%= link_to 'Edit', edit_galeri_path(@galeri) %>
вот тут ?

Fedor
20.11.2017
16:02:05
да, вроде похоже на правдду
а @galeri есть? Или оно nil? )

Olga
20.11.2017
16:03:09
получилось!!!))) Федор ты лучше гугла!))

Fedor
20.11.2017
16:03:27
ахренеть, так в резюме и напишу ))))

Olga
20.11.2017
16:03:47
ага)))))
вот так проглотило: <%= link_to 'Edit', edit_galeri_path(:id) %>

Konstantin
20.11.2017
16:07:40
я не знаю, насколько это учтиво
но, может, galeries?

Olga
20.11.2017
16:11:08
я прбовала, не помогло((( я реально кучу способов испробовала, вот только видимо чисто :id не догадалась сделать

Konstantin
20.11.2017
16:16:53
не, я про множественное число, ну да ладно)
рад, что у тебя все работает)

Olga
20.11.2017
16:18:22
не, я про множественное число, ну да ладно)
аа, поняла) да у меня тут дикий код вообще((( смесь турецкого с английским.
Да, ошибка ушла, но пока не поняла, как работает.... разбираюсь, запуталась вообще в ссылках(( опыт наматываю
спасибо :)

Konstantin
20.11.2017
16:22:12
Нет проблем!) весь курс прошла уже?