@rubylang

Страница 1544 из 1684
O
19.06.2018
16:33:56
Так нету разницы

Book.where("title = subtitle")

такой не работает ?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:36:22
Это точно не сработает
окей, залез в офф доку, ибо лень в репе копаться: Post.where(author: author)

Google
Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:37:15
Book.where("title = subtitle")
хотя и такой пример тоже есть

Kate
19.06.2018
16:37:43
окей, залез в офф доку, ибо лень в репе копаться: Post.where(author: author)
Ну так это объект, имея в виду что post belongs_to :author

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:37:58
rekero
19.06.2018
16:38:05
окей, залез в офф доку, ибо лень в репе копаться: Post.where(author: author)
тут у тебя author - заданная переменная, а не сравнение двух атрибутов модели

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
19.06.2018
16:38:25
O
19.06.2018
16:38:26
Book.where("title = subtitle")
Так вы попробовали ? @luna_nebo

rekero
19.06.2018
16:38:55
да ведь разницы? суть в синтаксисе запроса же
ну смотри, у любого поста его автор равен его автору, значит Post.where(author: author) вернет все посты?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
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
окей, залез в офф доку, ибо лень в репе копаться: Post.where(author: author)
Тут запрос вернёт все посты определенного автора а не посты у которых author id = author id

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: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
Граф что ли?

Vyacheslav
20.06.2018
04:03:43
Какие подводные камни, если сделать api на rack? Тут только 1 эндпоинт просто
Думаю никаких проблем не должно быть, главное добавить роутер для удобства, например https://github.com/hanami/router/blob/master/README.md

Хотя если честно, проще взять 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
Где можно почитать обяснение того что вот это не работает: User.joins(:team_members).where('user.id = team_member.id').count А это работает: User.joins(:team_members).where(`user.id = team_member.id`).count
Погугли "ruby backticks". В руби это специальный оператор и запрос работает, потому что то, что в бэктиках просто опускается. Если приложение создано по соглашениям, то имена таблиц в запросе должы быть во множественном числе, то есть User.joins(:team_members).where('users.id = team_members.id').count

Александр
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. Так же?

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

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 преобразовать?)

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
Да, запустить процесс sidekiqа на отдельном сервере, но надо чтоб redis был доступен на этом сервере
В таком случае там и рельсы должны стоять? Нет, случайно, ничего почитать по этому поводу? У меня ничего не получилось в гугле найти :(

Александр
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)

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
перейти? как ты это видишь?
RabbitMQ + что-то, где будут крутиться сервисы

Смерть
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
без разницы что это
есть разница, если author not defined например

Сергей
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

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