
O
19.06.2018
16:33:56
Так нету разницы
Book.where("title = subtitle")
такой не работает ?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:36:22

Google

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:37:15

Kate
19.06.2018
16:37:43

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:37:58

rekero
19.06.2018
16:38:05

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:38:25

O
19.06.2018
16:38:26

rekero
19.06.2018
16:38:55

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:39:38
так понятнее стало, что произойдет?)

rekero
19.06.2018
16:40:40
ты все равно не понял

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:40:51
нет, не выберутся все посты
выберутся посты определенного автора из аргументов

rekero
19.06.2018
16:41:19
в вопросе нет аргументов

Google

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:41:35
автора ты передаешь
конкретного
это не строка

Иван
19.06.2018
16:41:50

rekero
19.06.2018
16:42:04
перечитай еще пару раз

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:42:53
ладно, тс все-рвно ушел, о чем спорим?
видимо свою проблему решил

rekero
19.06.2018
16:44:20
ну ему ответ дали еще до твоих "исправлений"

Александр
19.06.2018
16:45:37

Fedor
19.06.2018
16:48:59

Александр
19.06.2018
16:53:50
Дано:
Book
Author
У Author.bookList, а у Book.bookListOwner == Author и ещё есть такая хрень Author.book_list_owner == Book.bookListOwner
И надо сделать такой запрос который отдаcт всех пользователей, которые являются владельцами BookList
Даже не так

Kate
19.06.2018
17:09:34

Александр
19.06.2018
17:25:55
Вот такой вот пиздец )

Иван
19.06.2018
18:00:53

Kate
19.06.2018
18:22:42

Александр
19.06.2018
18:24:47
Оке, только до дома дойду)

Google

Александр
19.06.2018
19:39:30
Author has_many Book
Book has one Author
Book has one Owner class: Author
Author has one BookListOwner class: Author througs Book sourc: Owner
Как-то так

Alan
19.06.2018
19:40:51
Какие подводные камни, если сделать api на rack? Тут только 1 эндпоинт просто

Nikita
19.06.2018
19:54:42
Граф что ли?

Roman
19.06.2018
22:57:24

Vyacheslav
20.06.2018
04:03:43
Хотя если честно, проще взять sinatra

Александр
20.06.2018
07:11:54
Где можно почитать обяснение того что вот это не работает:
User.joins(:team_members).where('user.id = team_member.id').count
А это работает:
User.joins(:team_members).where(`user.id = team_member.id`).count
Неужели рельсы парсят запрос и если видят ` такую кавычку, то пытаются сами подставить аргументы?ъ

Andrey
20.06.2018
07:20:08

Andiskiy
20.06.2018
07:20:29

Александр
20.06.2018
07:21:14
Другой вопрос, как быть в таких случаях? User.joins(:team_members).all.or(User.where(type: :kek))
Ругается на то что левая и правая части запроса различаются по структуре. В принципе все правильно, но мне нужны именно эти пользователи

Aleksey
20.06.2018
07:36:23
чет не понятно что этот запрос должен делать в итоге

Александр
20.06.2018
07:42:28
Отдавать всех пользователей с типом kek или тех у которых id совпадает с team_members.user_id
Как-то так

Evgeny
20.06.2018
07:43:51
Выглядит на AR как то не красиво и более запутанно, наверное такие запросы проще sql сделать в where


Александр
20.06.2018
07:45:28
Он на AR и не работает. А вот в sql работает, только я не уверен что правильно составил запрос
SELECT distinct "users".*
FROM "users"
INNER JOIN "business_team_members" ON "business_team_members"."business_account_id" = "users"."id"
OR "present_type" = 'individual'
AND "business_team_members"."deleted_at" IS NULL WHERE "users"."deleted_at" is NULL
Скажите, как вы понимаете этот запрос:
select users.* , business_team_members.business_account_id
from users right join business_team_members on business_team_members.id = users.id
where not users.present_type is null
and not users.role is null
and users.present_type = 'individual'
or
not users.present_type is null
and not users.role is null
and business_team_members.business_account_id = users.id
Хочу понять правильно ли я его составил
Как я понимаю, этот запрос отдаст мне всех юзеров, у которых есть роль и эта роль individual и есть тип, или всех пользователей у которых есть роль и тип и при этом они связаны с business_team_members через id. Так же?


Vyacheslav
20.06.2018
08:38:04

Google

Vyacheslav
20.06.2018
08:38:24
база mysql?

Александр
20.06.2018
08:38:56
постгрес

Vyacheslav
20.06.2018
08:43:49
плюс я бы написал запрос через is not null:
select users.* , business_team_members.business_account_id
from users
right join business_team_members
on business_team_members.id = users.id
where users.present_type is not null
and users.role is not null
and users.present_type = 'individual'
or users.present_type is not null
and users.role is not null
and business_team_members.business_account_id = users.id

Александр
20.06.2018
08:46:04
Не знал что есть not null, спасибо

Vyacheslav
20.06.2018
08:46:49
плюс лучше добавить скобки
select users.* , business_team_members.business_account_id
from users
right join business_team_members
on business_team_members.id = users.id
where (users.present_type is not null
and users.role is not null
and users.present_type = 'individual')
or
(users.present_type is not null
and users.role is not null
and business_team_members.business_account_id = users.id)
Не знал что есть not null, спасибо
соответственно, такой код можно сократить до такого
select users.* , business_team_members.business_account_id
from users
right join business_team_members
on business_team_members.id = users.id
where
users.present_type is not null
and users.role is not null
and ( users.present_type = 'individual'
or business_team_members.business_account_id = users.id)

Александр
20.06.2018
08:59:25
Больше спасибо за помощь

Admin
ERROR: S client not available

Felix
20.06.2018
09:01:23
Народ, а объясните мне за микросервисы?
На данный момент в проекте примерно 10 воркеров сайдкика, из которых 3 штуки работают автономно (запускаются при старте приложения, и сами себя планируют, как аналог крона), и остальные дергаются из приложения. Будут ли плюсы, если перейти на микросервисы? И какие вообще best practices есть?

Артур
20.06.2018
09:11:41
перейти? как ты это видишь?

Gregory Tereshko
20.06.2018
09:13:08
Всем привет! И в дополнение вопрос (если можно так сказать). Кто-нибудь выносил воркер сайдкика на отдельный сервак? Это вообще реально сделать?

Adamtsov
20.06.2018
09:15:56
Да, запустить процесс sidekiqа на отдельном сервере, но надо чтоб redis был доступен на этом сервере

Александр
20.06.2018
09:20:41
Кто-нить знает как PG:Result в AR преобразовать?)

Alex
20.06.2018
09:47:13

Sergey
20.06.2018
09:50:38
Ребята, привет! Я рассказал @Eugene_Shved о том, что в этом Июле в Минске мы собираемся запускать интенсив-курс на выживание по Ruby!
Возможно кто-то заинтересуется принять участие или как "выживатель" или как ментор.
Вот здесь можно подробнее почитать:
https://vk.com/rubizza?w=wall-148949841_152
Если будут вопросы - пишите, я с радостью отвечу!

Gregory Tereshko
20.06.2018
09:53:34

Александр
20.06.2018
10:03:41
Почему рельсы ругаются что правая и левая части не совпадают?
@users = User.joins("
RIGHT JOIN business_team_members
ON business_team_members.id = users.id
").where.not(role: nil, type: nil).or(
User.joins("
RIGHT JOIN business_team_members
ON business_team_members.id = users.id
").where.not(role: nil, type: nil)
)

Adamtsov
20.06.2018
10:12:23
Capistrano умеет деплоить на несколько серверов

Google

Gregory Tereshko
20.06.2018
10:18:58
Туда все приложение надо задеплоить, а иначе какой смысл?
Вот я ж кому и спрашиваю. Слышал что сайдкик выносят на отдельный сервак. Но как это делают - хз.
Т.е. получается будет несколько серваков приложения, но сайдкик будет запущен на одном? И редис везде на него указывать
Или какэта ваще

Adamtsov
20.06.2018
10:19:45
Да, только не редис на него указывать, а в sidekiq конфиге прописаны доступы к редису

Gregory Tereshko
20.06.2018
10:20:09
Ну да, понятно

Adamtsov
20.06.2018
10:20:27
И другие доступы кстати тоже (например postgresql)

Смерть
20.06.2018
10:20:38

Gregory Tereshko
20.06.2018
10:20:46
Тогда вообще смысл всего этого. Если можно сайдкик на каждом серваке запустить. А только редис на отдельном
Или я чего-то не понимаю

Смерть
20.06.2018
10:21:16
а зачем лишняя нагрузка на остальные сервера?
Я примерно по этой логике делал

Gregory Tereshko
20.06.2018
10:24:32
Тогда это будет такой себе изолированный сервак с приложением, сайдкиком и редисом. И к нему будет обращаться только сайдкик. Или перед ним тоже ставят балансер, чтоб запросы шли?

Felix
20.06.2018
10:45:21

Смерть
20.06.2018
10:47:16

Gregory Tereshko
20.06.2018
10:52:30
Понял. Спасибо большое

Александр
20.06.2018
11:11:57
Вот так делается то что я хотел:
@users = User.joins("
RIGHT JOIN business_team_members
ON business_team_members.business_account_id = users.id
").where("
users.present_type is not null
and users.role is not null
and ( users.present_type = 'individual'
or business_team_members.business_account_id = users.id
and business_team_members.deleted_at is null
)
").distinct
Всем спасибо за помощь, без вас бы до этого не дошел

Антон
20.06.2018
12:02:30

Сергей
20.06.2018
12:18:27
Чтобы сделать API метод, url которого group/12/students - возвращает студентов группы, нужно в контроллере group реализовать метод students?

Антон
20.06.2018
12:20:09
это зависит
смотря как прописаны роуты
мотря что нужно
призрачно все в этом мире бушующем
для классического круда, нет
потому что должен дергаться контроллер students action: :index
http://guides.rubyonrails.org/routing.html#nested-resources