@rubylang

Страница 1394 из 1684
No
20.02.2018
16:53:05
но там хитрый кейс

через joins(:relation).merge(Relation....)

ojab
20.02.2018
16:53:57
условия разные небось

Google
ojab
20.02.2018
16:54:25
а джойны с разными условиями нельзя превращать в один, ибо результат будет другой

No
20.02.2018
16:54:36
хм, да

я чего-то под вечерок туплю

спасибо

хотя по идее, сек

Запрос приходящий в конструктор: AcademyEvent.joins(:event).merge(Event.joins(:live_sessions)).where(live_sessions: { id: live_session_ids }).uniq Что добавляется в query object: .merge(Event.joins(:live_sessions).where(live_sessions: { start_date: date1..date2 })).uniq Вместе получается: AcademyEvent.joins(:event).merge(Event.joins(:live_sessions)).where(live_sessions: { id: live_session_ids }).uniq.merge(Event.joins(:live_sessions).where(live_sessions: { start_date: date1..date2 })).uniq

Разве оно не должно проигнорить двойной джоин и просто объеденить where?

я понимаю, что я хочу лютой магии )

но мне кажется это логичным )

хотя не

я походу гоню

пора домой, завтра буду думать

ojab
20.02.2018
17:19:39
эм, .uniq? Который возвращает Array?

Google
Александр
20.02.2018
17:35:05
Господа, здравствуйте = ) Есть User у него связь UserInfo и в модели прописан belongs_to'. Сейчас я могу сделать `user.user_info и получу таблицу, но я не могу сделать user_info.user, что бы я смог это сделать, мне нужно прописать belongs_to и в UserInfo, верно?

Александр
20.02.2018
17:36:38
Нет. Надо прописать хэз мени
а если связь один к одному? И что же всё-таки нужно сделать что бы помогло ?)

ojab
20.02.2018
17:37:02
belongs_to + has_one

Nursultan
20.02.2018
17:37:06
Юзер и юзеринфо это разные таблицы?

Александр
20.02.2018
17:38:58
belongs_to + has_one
спасибо = )

Nursultan
20.02.2018
17:39:43
Угу = )
У юзера может быть много информации а информация может принадлежать только одному юзеру?

Александр
20.02.2018
17:40:44
У юзера может быть много информации а информация может принадлежать только одному юзеру?
У одного юзера, только одна связанная с ним таблица с информацией о нем

ojab
20.02.2018
17:42:40
вообще всячески рекомендую http://guides.rubyonrails.org/association_basics.html (или http://rusrails.ru/, если с английским не очень). Там в Active Record Associations всё достаточно несложно и подробно описано.

Иван
20.02.2018
17:43:51
belongs_to + has_one
У меня дурацкий вопрос. Почему не belongs_to + belongs_to?

ojab
20.02.2018
17:44:17
потому что для belongs_to нужна колоночка whatever_id

и консистентность надо как-то поддерживать

Иван
20.02.2018
17:44:46
has_one не гарантирует ведь что у объекта будет всего одна ассоциация

ojab
20.02.2018
17:45:10
зато гарантирует, что object.relation.object == object

количество — это другой вопрос и его надо решать contraint'ами в БД, да

Александр
20.02.2018
17:45:42
У меня щас странная фигня =) вот такая штука собирается: SELECT "user_infos".* FROM "user_infos" WHERE ("user_infos"."user_info_id" IS NOT NULL) ORDER BY "user_info"."id" DESC LIMIT $1

Из такой: User.where.not(user_info: nil).last

Ладно, пойду читать, всем спасибо ещё раз = )

Google
Nikita
20.02.2018
17:49:48
а что по дефолт скопам?

Aleksey
20.02.2018
21:25:24
Насколько тупая идея дополнительно шифровать password_digest (тот самый, который от bcrypt-ruby / had_secure_pasdword) каким-нибудь симметричным шифрованием с ключом из конфига?

Nikita
20.02.2018
21:26:20
А зачем?)

Aleksey
20.02.2018
21:29:13
Ну, наверное, если базу утянут, придется пароли ещё и декриптить прежде чем начать перебирать . Клиент хочет чтоб две соли было, одна юзер-специфик, а вторая общая. Насколько я понял работу бкрипта, он такое не позволяет. Думаю над вариантами

Диёр
20.02.2018
21:36:47
Вместе обе соли подавай как одну

Aleksey
20.02.2018
21:40:12
Бкрипт сам придумывает соль и сам же ее хранит вместе с хэшом

Некуда там вторую соль вставить )

Диёр
20.02.2018
21:41:00
К паролю пихай тогда

Aleksey
20.02.2018
21:42:18
Хм. Логично ?

Спасибо. А идея шифровать дайджест совсем дно, да?:)

Диёр
20.02.2018
21:44:02
Ключик то не теряйте) да и затратно по ресурсам может быть

Aleksey
20.02.2018
21:45:22
Так ключик и так и так критичен...

И если его скомпрометируют, что тогда... Сбрасывать всем пароль

Сомнительная затея походу с этим вторым ключом

Alexander
20.02.2018
21:51:59
Спасибо. А идея шифровать дайджест совсем дно, да?:)
не стоит "усиливать" криптографию если не понимаешь как оно работает

если хочется чегото супер секюрного можно поиграться с другими алгоритмами, например Argon2 https://habrahabr.ru/post/281569/

ну и биндинг для руби (сам не пробовал) https://github.com/technion/ruby-argon2

Aleksey
20.02.2018
21:59:45
Salts in general If you are providing your own salt, you are probably using it wrong. The design of any secure hashing system should take care of it for you.

Понятненько )

Google
Pavel
21.02.2018
06:37:06
Вопрос по dry-transaction, dry-container и rails чтобы "нормально" ложить операции в контейнеры и использовать их в транзакциях, просто убрать операции из autoloading_path. Точняк?

ojab
21.02.2018
07:37:53
можно и не убирать

кладёшь в контейнер и пользуешь

Artem
21.02.2018
08:16:56
Всем привет. Есть форма созданная через form_for. Она автоматом добавляет div с токеном. Добавляет перед остальными полями, из-за этого сама форма плывет, можно как-то этот див в конец поставить?

ojab
21.02.2018
08:24:28
из коробки она должна hidden input добавлять

Dmitry
21.02.2018
08:36:14
Вангую что кастомные стили это поломали

Admin


Andiskiy
21.02.2018
10:45:44
Добрый день, помогите пожалуйста. пишу rspec тесты, почему то initialize не вызывается, а вызывается метод по второму параметру в инициализации, здесь - QueueSender.new(self, method, *args) есть initialize в классе QueueSender странное поведение в тестах, без тестов работает

короче вызывается значение этой переменной method немного странно

Антон
21.02.2018
10:49:01
я ничего не понял

если бы я был прогарммой, я бы тоже сломался

ojab
21.02.2018
10:49:33
А как создаёшь объект (в rspec прям QueueSender.new(self, method, *args) написано?) и что происходит, если дебаггером встать в initialize?

Andiskiy
21.02.2018
10:51:35
я ничего не понял
работает как примерно send

Антон
21.02.2018
10:51:49
тогда self это RSpec::ExampleGroups

какая-то логическая каша

Andiskiy
21.02.2018
10:58:38
если с самого начала не начну, ничего не понятно будет. В модели юзер, после создания отправляется письмо на почту с паролем и логином(если это делает админ). Письма так были организованы, что в проде отправляются через лямбду, а на девелопменте открываю через леттер опенер. Так вот создаю юзера, отправляется письмо и там где нужно выбирать леттер опенер или лямбда, это все падает. Это расширение Экшен мейлера и self тут мой мейлер откуда вызывается queue. фото прикреплю



self я просто взял в кавычки

да, работает как send.

эту кашу может изменить надо и сделать норм, до меня делали это

Google
Антон
21.02.2018
11:05:21
чот за лямбда?

Andiskiy
21.02.2018
11:07:38
Антон
21.02.2018
11:10:40
а почему бы просто в конфиге не указать, что в проде лямбда, а в деве леттер опенер? к чему этот костыль?

Andiskiy
21.02.2018
11:16:18
а почему бы просто в конфиге не указать, что в проде лямбда, а в деве леттер опенер? к чему этот костыль?
к тому что саму лябмду прямо не вызовешь, изначально была логика такая, что они в очередь сували это все и оттуда вытаскивали с помощью воркера, попросили перейти на лямбду. Перешел на лябмду, но у нее нет триггера на изменение/добавление в очередь. Заменил на SNS и теперь публикую сообщения в sns, вызывается лямбда и отправляется письмо. Такая вот костыль, почему работает как сенд я поняд, в spec_helper указано, короче костыли прошлых разрабов, приходится все убирать. сейчас этим займусь. Спасибо

Artem
21.02.2018
11:46:13
Как в simple_form сделать при ошибке такую верстку

<div class="textinput error"> <i></i><div class="error__tooltip">Не правильно указан E-mail</div> <input class="textinput__input" type="email" value=""> <div class="textinput__label">Электронная почта</div> </div>

div без проблем, как вот добавить иконку

No
21.02.2018
12:27:21
Гайз

grape entity

использую using

можно ли в этот using прокинуть опции

не те, которые глобально

а для конкретного using какой-то флажок

Антон
21.02.2018
12:35:48
Оффтопик: можно джойнить не только буквы в слова, но и обрывки мыслей в законеченное предложение

Сергей
21.02.2018
12:36:24
и в одно предложение

No
21.02.2018
12:45:33
предложение должно быть связным

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