@proRuby

Страница 973 из 1594
Roman
13.12.2017
13:51:13
ага

No
13.12.2017
13:51:15
но думаю не стоит этого делать, проекту много лет

опасно

Roman
13.12.2017
13:51:29
с удовольствием бы сменил mysql на postgres
я для этого сменил работу :)

Google
No
13.12.2017
13:51:37
не, тут проект крутой, мне нравится

но исторически сложилось, что mysql )

почему - окутано тайной времен

Roman
13.12.2017
13:52:03
я знаю такие проекты :) предыдущая работа как раз. проект с 2006 года

и там мноооого таких тайн

No
13.12.2017
13:52:18
ну, не настолько древний, плюс кодовая база обновлялась адекватно

тобишь говнокода лютого нет

Roman
13.12.2017
13:52:25
значит больше повезло

No
13.12.2017
13:52:26
всё красиво

но база осталась исторически какая была в начале )

Roman
13.12.2017
13:52:55
короче сейчас у нас есть клиент один. ему делали что-то адовое с финансами

и там внутри SQL на SQL

и SQL прогоняет

Google
Roman
13.12.2017
13:53:26
прям рубишный метод - а внутри execute

и ничего. норм

пытались вначале арел - плюнули

No
13.12.2017
13:53:59
меня тут только одно пугает

Roman
13.12.2017
13:54:05
но опять же маленькие плюшки я люблю на ареле писать

No
13.12.2017
13:54:06
большинство рубистов боится SQL

да что там

я тоже его побаиваюсь писать

но в выборе между сомнительной пользой от написания квери на руби или сразу на SQL - выберу пожалуй второе

Roman
13.12.2017
13:54:49
как только ты пишешь что-то серьезней блога за 15 минут - все равно придется

No
13.12.2017
13:54:56
а то уже придумали кофискрипт, который вроде красивая прослойка, но на деле - работает не совсем так, как хочется

Roman
13.12.2017
13:55:19
ну я норм пишу на кофе

No
13.12.2017
13:55:32
как только ты пишешь что-то серьезней блога за 15 минут - все равно придется
да это понятно, я же не говорил, что я его избегаю ) писал его много, но каждый раз это компромисс с собой (типо, а может всё-таки ОРМ?)

Roman
13.12.2017
13:55:50
преимущество ареля в том, что ты можешь его миксовать с АР

No
13.12.2017
13:56:07
Roman
13.12.2017
13:56:16
User.not_deleted.arel_method_here.limit(10)

No
13.12.2017
13:56:46
т.к. было бы удобно написать часть запроса на activerecord (там, где всё просто)

Roman
13.12.2017
13:56:50
ага

No
13.12.2017
13:56:54
и дописать груп бай и каунты после

но по факту

Google
No
13.12.2017
13:57:07
так же можно и без арела

только он правда обернет в модели

что не ок

Roman
13.12.2017
13:57:28
почему не ок

Nikita
13.12.2017
13:57:29
@dreyks not_deleted такое

https://github.com/rubysherpas/paranoia

Roman
13.12.2017
13:57:47
а что ты будешь в темплейтах? хеши юзатб?

@dreyks not_deleted такое
я просто пример привел

No
13.12.2017
13:58:17
почему не ок
не очевидно, ты видишь ActiveRelation с Event внутри, а у Event-а на самом деле совсем другой набор полей

а что ты будешь в темплейтах? хеши юзатб?
да, хеши думал, у меня апиха

Roman
13.12.2017
13:58:43
а

ну тогда тебе вообще не нужен АР получается

бери синатру

и mysql2 gem

No
13.12.2017
13:59:39
Grape уже в проекте, его юзаем )

Roman
13.12.2017
13:59:43
ну да

просто я старался как можно меньше писать против ветра

оставаться в рамках АР

и моделей

тогда арель подходит

Google
No
13.12.2017
14:00:39
Просто идея в чём - было бы удобно запросить скоуп event-ов через active record (с существующими скоупами), а после заюзать SQL(Arel?) для групинга, аггрегаций и прочего. Но на выходе в идеале получить хеш

Да, Arel получил некоторые плюсы

Буду копать его подробнее пожалуй

Roman
13.12.2017
14:01:14
грубо говоря мне не нравится когда все достаешь руками

отдельно юзеров, потом по их айдишкам - что-то другое

хочу чтобы ООПшненько

а еще кеширование

execute кажись не lazy

а арел - lazy

при прямых запросах даже если темплейт закеширован - запрос выполнится

No
13.12.2017
14:04:34
да, советы ко вниманию принял, спасибо

посмотрю на Arel, если всё так как я себе представил - то, что нужно

Андрей
13.12.2017
15:48:36
Андрей: Здраствуйте. У меня в рельсах разные ксрф токены(. Что делать? Это не помогло do -> token = document.querySelector('meta[name="csrf-token"]').innerHTML input = document.querySelector('input[name="authenticity_token"]').value if token != input input = token return

Fedor
13.12.2017
15:58:25
Csrf и должны быть разными

Они специально так сделаны

kolas
13.12.2017
16:04:04
есть какой-нибудь стандарт по оформлению всяких сервис объектов в рельсах кроме трэйлблейзера?

трейлблейзер не нравится, но свое кастомное может потом поддерживать хреново будет

kolas
13.12.2017
16:05:51
и еще папочку для презентеров и валидаторов

Google
No
13.12.2017
16:05:53
не стоит гнаться за стандартами, подберите что-то под нужды своего проекта

чтобы команде нравилось

и было максимально очевидно

kolas
13.12.2017
16:06:21
ну может умные люди что-то придумали,а я не знаю

No
13.12.2017
16:07:20
что нужно конкретно? расположение в проекте или какие-то бест практисы для написания сервисов?

Андрей
13.12.2017
16:08:02
Csrf и должны быть разными
оно ошибку выдает что токены не сходятся

kolas
13.12.2017
16:10:23
что нужно конкретно? расположение в проекте или какие-то бест практисы для написания сервисов?
бест практисы, в общих чертах то понятно, но определенных соглашений еще не видел

кроме треилблейзера

делаю сервис объекты под все операции, форм объекты для валидации, презентеры для хелперов вьюшек

kolas
13.12.2017
16:16:27
хорошая вещь была бы, чтоб новые люди на проекте могли прочитать и сразу понять

Fedor
13.12.2017
16:16:48
оно ошибку выдает что токены не сходятся
Значит ты где-то его подменяешь

Anton
13.12.2017
16:17:40
один публичный для ханани

No
13.12.2017
16:19:12
бест практисы, в общих чертах то понятно, но определенных соглашений еще не видел
Ну смотри. Я тебе буду говорить как человек, которые полгода назад искал что-то подобное в надежде "Ну а вдруг?". Каких-то единых стандартов ты не найдешь. Для сервисов можно юзать что-то (если нравится Command в траилблэйзере, рекомендую dry-transactions, если нравится максимально просто - interactor). Можно не юзать, лучше обсудить это с командой, наверняка у каждого есть гемы мечты). Формобджекты, презентеры - всё это довольно неплохо пилится само по себе, без сторонней помощи

Сразу предостерегу

Я долго искал гем для форм обджектов, чтобы он умел делать то, что я хочу (забить на нестед атрибуты и всё красиво и автоматически хендлить всё, что можно). В итоге нашёл парочку крутых гемов, но они тебя ограничивают очень сильно в рамках простых кейсов. Так что по итогу я сделал вывод, что если хочешь форм обджект - напиши его сам

Для презентеров вообще просто, если они тебе нужны - пишутся они максимально просто на PORO

Fedor
13.12.2017
16:22:04
Или настроил некорректно

Вообще вся работа с csrf обычно автоматическая, включил в контроллере и забыл

Если что то делаешь руками, то, скорее всего, делаешь не так

Страница 973 из 1594