
Di
28.07.2017
10:17:07
Я не ради холивара, мне рейлс вей интересен.

Anton
28.07.2017
10:17:17
и если посмотреть на ворпосы - чаще всего это из-за того, что люди пытаюстся сделать универсальную схему валдлидации для всех случаев

No
28.07.2017
10:17:25
рейлс вей - пиши коллбэки
даже где-то схемка есть от DHH

Google

No
28.07.2017
10:17:36
какие коллбэки хорошие

Anton
28.07.2017
10:17:39

No
28.07.2017
10:17:42
но я с ним не согласен

Anton
28.07.2017
10:17:55
я просто написал какие проблемы можно отхватить и почему по мне колбэки плохо

Roman
28.07.2017
10:18:26
вот
Антон, спасибо за развернутый ответ, теперь понятно
А этот функционал в какие то сервисы выносить? Ну коллбэки, валидации

Artur
28.07.2017
10:18:46
я думаю частично коллбэки можно юзать когда не ожидается сайдэффектов и ты исопльзуешь его в рамках одного объекта

No
28.07.2017
10:18:58
да, в сервисы выносить ок

Roman
28.07.2017
10:18:58

No
28.07.2017
10:19:04
но будь аккуратен

Anton
28.07.2017
10:19:18

No
28.07.2017
10:19:18
я за использование dry-transaction и dry-validation уже отгреб
джуны потом не могут понять, какого хера тут не как в гайдах

Google

No
28.07.2017
10:19:45
railsway - он беспощадный )))

Anton
28.07.2017
10:19:58
собственно для этого канал веду, что бы больше людей понимало что это и зачем
и в целом уровень поднялся по больнице

Di
28.07.2017
10:20:26
Вот такой коллбек вызывается в зависимости от полей объекта норм?
after_save :hide_items if secret && display
Или вынести условия в метод hide_items?

Anton
28.07.2017
10:21:02
вообще, для начала, ты можешь полностью все создание объекта вынести в отдельный класс

Fedor
28.07.2017
10:21:09
на самом деле у dry больше проблем не с тем "как", а с тем "зачем"

Anton
28.07.2017
10:21:33
и не User.save сохранять, а UserSaver.call(..) вызывать

Fedor
28.07.2017
10:21:45
у нас в конторе каждый уже по несколько раз думал посмотреть dry, и все упирались в простой вопрос: "а зачем оно надо, если все и таке есть?"
я вот дошел именно потому что мне интеракторы не понравились
и не столько из-за необходимости, сколько из-за стремления к красоте кода

Anton
28.07.2017
10:22:36

Fedor
28.07.2017
10:22:39
dry пока молодой и неочевидный, а главное не необходимый

ojab
28.07.2017
10:22:41

Fedor
28.07.2017
10:22:55
ну вот у меня уже сколько лет стажа, что он мне наконец понадобился в первый раз )
потому молодые и не знают, что это и с чем его кушать

No
28.07.2017
10:23:29
ну я по факту молодой
но ещё будучи без работы много по ООП читал

ojab
28.07.2017
10:23:37

Google

No
28.07.2017
10:23:41
и рельса мне многим не нравится

Anton
28.07.2017
10:23:46
вообще, лучший способ начать использовать dry - это вот этот гайд почитать
http://hanamirb.org/guides/actions/parameters/

Di
28.07.2017
10:23:57

Fedor
28.07.2017
10:24:31

ojab
28.07.2017
10:24:48

Anton
28.07.2017
10:24:54

ojab
28.07.2017
10:25:06
http://guides.rubyonrails.org/active_record_callbacks.html#conditional-callbacks

No
28.07.2017
10:25:26
более того, валидации на модели не вяжутся допустим с полиморфными ассоциациями нормально
чтобы лучше использовать рельсовые полиморфные ассоциации - лучше выносить валидации для каждого варианта
так как зачастую в нюансах отличаются
и эти нюансы превращаются в кондишинал валидейшен

Anton
28.07.2017
10:26:52

Fedor
28.07.2017
10:28:02
Полиморфные ассоциации вообще лучше использовать по минимуму
из них потом столько геморроя лезет...
хуже только postgresовское наследование таблиц
в котором не наследуются индексы

No
28.07.2017
10:28:31
это да, но тут кейс был на ограниченное время
пацанам была нужна апиха
побыстрее
а сущность рили переиспользовалась с некоторыми нюансами

Google

No
28.07.2017
10:29:05
потому запилил полиморфику, так было быстрее

Anton
28.07.2017
10:31:14
а возвращаясь к dry - это набор библиотек, а не одна какая-то конкретная. чаще всего понимание, зачем юзать, приходит когда отхватываешь от мутаций или от стейта
начинаешь все оборачивать в сервисы
а потом проблема возникает с тем, как это менеджить/поддерживать/тестировать
вот тут и помогает dry
но есть другие проблемы конечно же
но по мне, их намного проще чинить, чем с фреймворком бороться

Admin
ERROR: S client not available

Amir
28.07.2017
12:28:35
Вобщем кажется выяснил
дело даже не в паршиалах
при использовании jquery_ujs
form remote true
когда в поле file_field выбариаешь файл
То просто тупо jquery_ujs не срабатывает, а форма отправляется штатным способом
соответсвенно и ничего не работает
только не понятно почему так

v
28.07.2017
12:29:26
miltipart?

Roman
28.07.2017
12:32:25
Всем привет. Выставил настройки ActionMailer для внешнего сервиса, поставил адрес и порт, delivery_method = :smtp, а рельса все равно делает запросы на localhost:25. В чем может быть дело?

Amir
28.07.2017
12:33:40

Антон
28.07.2017
12:33:45
может стоит ребутнуть сервер и спринг

Roman
28.07.2017
12:35:32
ребутал сервер

Gleb
28.07.2017
12:35:42
Привет всем. Для работы с деньгами есть Money. А кто знает что делать, если требуется еще и округлять центы?

Fedor
28.07.2017
12:36:31
либо мультипартом, либо Base64 в json
по умолчанию мультипарт
а base64 - это перекодировать на стороне клинета надо, ну и для картинок это норм, а какой-нибудь PDF на 300м просто не пролезет через timeout

Google

ojab
28.07.2017
12:38:06

Roman
28.07.2017
12:38:23

ojab
28.07.2017
12:39:16

Fedor
28.07.2017
12:41:35
А в чём проблема?
в согласовании с бухгалерией ))) Вечная проблема, округлять ли копейки? А если копейке по сотням позиций?

Anton
28.07.2017
12:42:03
можешь написать декоратор, который будет это делать

ojab
28.07.2017
12:42:07
да
Из консоли письма тоже на локалхост идут? Rails.application.config.action_mailer.delivery_method и smtp_settings правильные данные показывают?

Anton
28.07.2017
12:42:35
я так в свое время сделал (мы храним 3 знака после запятой в цене, что бы до десятой цента считать)

Roman
28.07.2017
12:42:49
в консоли то же самое

Gleb
28.07.2017
12:50:53
Проблема в том, как адекватно задать правила округления с копеек до рублей чтобы не попасть на деньги
Я так понимаю, что своего механизма у Money нет?

spartakusQ
28.07.2017
12:52:03

Anton
28.07.2017
12:52:29

Gleb
28.07.2017
12:52:51
format это вопрос вывода, а мне их считать надо в рублях потом

Dmitriy
28.07.2017
12:53:40
https://github.com/RubyMoney/money/blob/557561ef7259b8d2ab6a3603d0a5335e90842644/lib/money/money.rb#L125

Fedor
28.07.2017
12:55:05

Gleb
28.07.2017
12:55:06
Дык вроде это округления при расчетах в BigInt?

Fedor
28.07.2017
12:55:18
мы раз в полгода минимум обсуждаем как это решать

Dmitriy
28.07.2017
12:55:28
Если ты делаешь арифметические операции через money, то он просто будет исполльзовать все что использует BigDecimal

Fedor
28.07.2017
12:55:31
как округлять гребанные копейки в разных ситуациях

Dmitriy
28.07.2017
12:56:17