
Andrey
20.09.2018
09:03:45
execute "CREATE EXTENSION IF NOT EXISTS pg_trgm;"
execute "CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;"
или сделайте своего пользователя суперпользователем :)

Amir
20.09.2018
09:05:46

Di
20.09.2018
11:07:15
ребята кто в курсе что с сайто rubyjobs.ru случилось?

Google

Dmitriy
20.09.2018
11:12:11
Ркн случился
Они хостятся на DO
Вот и задело

Ilya
20.09.2018
11:13:33
он даже под впн не заходит

Di
20.09.2018
11:13:35
долго уже лежит?
только заметил

Dmitriy
20.09.2018
11:15:15

Andrey
20.09.2018
11:18:07
Добрый день. Подскажите пожалуйста по searchkick.
Есть модель, ее надо инклюдить с другой, и после делать выборку по условием для связанной модели.
Должно выглядеть примерно так
first_m.search(include: :second_m, where: {second_m: {id: 1}})
Но что-то в блоке where не так написано.
Просто, без серчкика выглядело бы так
first_m.joins(:second_m).where(second_m: {id: 1})
Итак, вопрос получается в том, как писать условия в searchkick'e, для связанных таблиц.
Конкретно — блок where

Gregory Tereshko
20.09.2018
11:19:57

Andrey
20.09.2018
11:21:17
в коде так и пишу. в ошибке пишет
Unknown where operator: :id
where: {positions: {id: 2112}}
Блоке where у меня такой
Или может блок include как-то по другому пишется?

Google

Igor
20.09.2018
11:41:15
where: { “second_m.id” => 1 }?

Andrey
20.09.2018
11:42:52

Alexander
20.09.2018
11:43:43
всем привет! вдруг тут кто-нибудь #emacs использует: как выделить внутренности метода/блока (желательно через evil)?

Andrey
20.09.2018
11:45:17
where: { “second_m.id” => 1 }?
Ну и сам запрос пишет, который curl, в котором есть такой блок
/_search?pretty -d '{"query":{"filtered":{"query":{"match_all":{}},"filter":{"and":[{"term":{"positions.id":2112}}]}}},"size":1000,"from":0,"fields":[]}'
и nil
Про блок positions.id как будто вообще не знает

nist
20.09.2018
11:50:37
что-то в этом стиле я бы сделал

Andrey
20.09.2018
12:01:26
загвоздка была в том, что я метод seach_data не сделал

brute11k
20.09.2018
12:17:54

Andrey
20.09.2018
12:22:48
Переменные
${APP_HOST} лежат в .env

brute11k
20.09.2018
12:23:07
Нет, про YAML merge
«: *app
Только я хотел контролировать, от какого контейнера будет наследоваться конфигурация, через переменные среды (.env файл)
Типа <<: *${ENVIRONMENT}

Andrey
20.09.2018
12:24:42
У тебя один докер компос файл на все окружения?

brute11k
20.09.2018
12:25:02
Да

Andrey
20.09.2018
12:26:31
можно их разбить, я по крайней мере так и делаю
docker-compose.dev.yml
docker-compose.yml
А потом уже, в .env фале пишу переменную
COMPOSE_FILE=docker-compose.dev.yml

brute11k
20.09.2018
14:21:53

Google

biert
20.09.2018
14:22:57
Приветствую, можете помочь куда копать, когда делаю
result.joins(:category).select(:id, :name, :price, :brand_id, :category_id, "CONCAT(categories.name, ' ', gears.name) as title").map {|x|
x.attributes} тогда показывает строку, но мне формат не подходит, а если убрать map тогда нету изминений, как сделать чтобы был AR ответ, но сконкатенированая строка

Serhii
20.09.2018
15:06:01
Если при передаче параметров не укажешь ключи, то получишь ошибку

Антон
20.09.2018
15:06:04
гы
первый раз так делаю
link_to :отчет, url

Nikita
20.09.2018
15:06:38

Антон
20.09.2018
15:06:52
прям рубям пофиг же
def ∑( a, b)

v
20.09.2018
15:10:29
господа
а чем нынче модно лечить вещи типа
class Position < ApplicationRecord
after_destroy do
call_external_API(self)
end
end

Антон
20.09.2018
15:10:53
а в чем болезнь?

rekero
20.09.2018
15:11:08

v
20.09.2018
15:11:32

Антон
20.09.2018
15:12:02
ну... в том месте где удаляется call_external_API(object)

v
20.09.2018
15:13:36

mike
20.09.2018
15:28:17
Смотря, что делает call_external_API
емнип, destroy вернет тебе удаленный объект
Просто frozen

v
20.09.2018
15:42:16

mike
20.09.2018
15:42:44
Это как бы понятно по названию

v
20.09.2018
15:43:44

mike
20.09.2018
15:43:58
Коллбэки AR вообще зло
В любом случае апи лучше дернуть из условного сервиса, где дестроишь объект, чем из модели объекта

Google

v
20.09.2018
15:45:02

mike
20.09.2018
15:45:10
Ну и

v
20.09.2018
15:45:15
"А если она удаляется вместе с родиетелем? Типа dependent :destroy"?

Silent Bob
20.09.2018
15:47:57

mike
20.09.2018
15:49:17

v
20.09.2018
16:08:39

mike
20.09.2018
16:11:11
?

Admin
ERROR: S client not available

mike
20.09.2018
16:13:32

v
20.09.2018
16:13:49
?
есть некий условный User, который has_many Postions, которые удалятся каскадно вместе с удалением этого User. Как вызвать некий условный сервис в случае удаления Position таким образом?

Oleg
20.09.2018
16:13:59
Привет всем. Можно ли как-то сделать, чтобы Puma перезагружал воркеры поочередно автоматически? типа puma:restart, ибо памяти что-то поедает дико, подозреваю что это action_cable и приходится перезагружать пуму раза 3 в сутки

mike
20.09.2018
16:14:18

Silent Bob
20.09.2018
16:14:36

Roman
20.09.2018
16:15:14

Igor
20.09.2018
16:15:48

Alexander
20.09.2018
16:16:03

mike
20.09.2018
16:16:08

v
20.09.2018
16:16:36

mike
20.09.2018
16:16:46
и дёргаешь ты сервис с юзером?

v
20.09.2018
16:17:14

Google

Roman
20.09.2018
16:17:28

v
20.09.2018
16:17:30

Igor
20.09.2018
16:17:30

Oleg
20.09.2018
16:17:30

mike
20.09.2018
16:17:48
туда передаётся что? юзер? позишн?

v
20.09.2018
16:17:56

Alexander
20.09.2018
16:17:59

v
20.09.2018
16:18:25

Igor
20.09.2018
16:18:28
Ты щас пытаешься решить проблему, которую можно избежать, если нормально спроектировать бизнес-логику. Это странно

v
20.09.2018
16:18:48

Igor
20.09.2018
16:19:49
Перечитай и задай правильный вопрос

v
20.09.2018
16:21:36
как надо "нормально" проектировать бизнес-логику в таком случае, и что "ненормального" в каскадном удалении?

mike
20.09.2018
16:24:29
если совсем приспичило, то можно приколхозить что-то в стиле
positions = user.positions.to_a
user.destroy
positions.each { |position| call_external_API(position) }
но это прям суперплохо, лучше всё-таки спроектируй нормально, да

Igor
20.09.2018
16:25:09
Ненормально не само каскадное удаление, а попытка привязать то, что у тебя происходит в приложении к событиям в бд.
Если у тебя удаление зависимой сущности делается через сервис - удаление родителя тоже описывай сервисами.
Тогда не придётся искать обходные пути

v
20.09.2018
16:26:08

Igor
20.09.2018
16:26:23
Куда проще?

v
20.09.2018
16:26:23
удаление через сервис как раз выглядит обходным путем

Igor
20.09.2018
16:27:02
Ну можешь в модели метод сделать, который будет удалять. То же самое, но в другой парадигме.