@rubylang

Страница 1140 из 1684
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
да, в сервисы выносить ок

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

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, и все упирались в простой вопрос: "а зачем оно надо, если все и таке есть?"

я вот дошел именно потому что мне интеракторы не понравились

и не столько из-за необходимости, сколько из-за стремления к красоте кода

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

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

потому молодые и не знают, что это и с чем его кушать

No
28.07.2017
10:23:29
ну я по факту молодой

но ещё будучи без работы много по ООП читал

ojab
28.07.2017
10:23:37
Вот такой коллбек вызывается в зависимости от полей объекта норм? after_save :hide_items if secret && display
без блока у тебя secret и display будут выполняться в контексте класса, а не инстанса

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

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

Fedor
28.07.2017
10:24:31
и рельса мне многим не нравится
мне тоже не нравилась, когда я с C++ переезжал

ojab
28.07.2017
10:24:48
без блока у тебя secret и display будут выполняться в контексте класса, а не инстанса
(на самом деле не в контексте класса, но в общем не только тогда, когда нужно)

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

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

а возвращаясь к dry - это набор библиотек, а не одна какая-то конкретная. чаще всего понимание, зачем юзать, приходит когда отхватываешь от мутаций или от стейта
что бы понять почему это плохо - можно посмотреть на что-то кроме rails (и руби в целом). потому что сейчас у меня нет 80% обычных проблем, которые спрашивают в чатах ибо нет стейтов и прочего

но есть другие проблемы конечно же

но по мне, их намного проще чинить, чем с фреймворком бороться

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
miltipart?
ну рельцы сами ставят на форме как вижу

Антон
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
Roman
28.07.2017
12:38:23
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 знака после запятой в цене, что бы до десятой цента считать)

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

Я так понимаю, что своего механизма у Money нет?

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

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
как округлять гребанные копейки в разных ситуациях
У меня мать бухгалтер, эти налоговики и органы и 1с сами постоянно проблемы создают, сами не понимают

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