@rubylang

Страница 519 из 1684
Mikhail
20.10.2016
15:00:23
Но что очень нравится это сам механизм типа form Model::Create )

и у тебя готовый реформ обьект)

I
20.10.2016
15:00:33
операции-то?

Mikhail
20.10.2016
15:00:45
все в коробке

Google
Mikhail
20.10.2016
15:00:46
ага

4 метода операций достаточно неплохо автоматизируют

I
20.10.2016
15:01:03
у нас бульдог с носорогом просто

поэтому не все так просто

Антон
20.10.2016
15:01:29
а нельзя с запросом вручную current_user доставать из сессии?

Mikhail
20.10.2016
15:01:33
Это просто для бизнес логики и пихать где попало не стоит)

Антон
20.10.2016
15:01:54
а в модели и не должно быть карент юзера

I
20.10.2016
15:02:01
не, у нас зачастую чисто реформ, трейлблейзер...хм, а можно и вкрячить сюда как раз. Я подумаю

Антон
20.10.2016
15:02:10
априори карент юзер в модели и не доступеен

и не должен быть

Mikhail
20.10.2016
15:02:22
а в модели и не должно быть карент юзера
ты когда пишешь сервис и там нужен текущий юзер

как ты прокидыавешь туда его? Через парамы

Google
Антон
20.10.2016
15:02:37
при вызове сервиса передаешь аргументы

Mikhail
20.10.2016
15:02:44
тут также

только в качестве аргумента он принимает params

Антон
20.10.2016
15:03:15
так не в парамы тогда

а в аргументы

а парамс это что в Тб?

Mikhail
20.10.2016
15:04:13
class Comment::Update < Trailblazer::Operation def process(params) @model = Comment.find params[:id] end end

чтобы яснее было

процесс это CALL метод

Антон
20.10.2016
15:04:44
params такойже как и в рельсе?

Mikhail
20.10.2016
15:05:02
агась

Антон
20.10.2016
15:05:08
не вижу смысла передавать парамсы сервису

Mikhail
20.10.2016
15:05:11
вроде не все приходит

Антон
20.10.2016
15:05:16
парамсы там могут быть жирными

Mikhail
20.10.2016
15:05:22
вроде он рельсовые методы режет

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

Comment::Create.(comment: {body: "MVC is so 90s."}) #=> {comment: {body: "MVC is so 90s."}}

вот так например

По сути это такой большой бизнес сервис со своей абстракцией

вместо интеракторов тех же.

Google
Mikhail
20.10.2016
15:06:59
Для работы с бдшкой

ща покажу

Антон
20.10.2016
15:07:21
не очень понятно что такое большой бизнес сервис вместо интеракторов для работы с БДшкой

Mikhail
20.10.2016
15:07:47
http://trailblazer.to/gems/operation/api.html#callstack

смотри

Антон
20.10.2016
15:07:56
так никак и не уловлю плюшек ТБ

Mikhail
20.10.2016
15:08:30
Например ты записываешь какие то данные в бд

и помимо записи надо еще кучу всякого хлама проверить/выполнить

И это доп уровень абстракции чтобы не засирать модельку или контроллер. А также у него есть хелперы, где можно разбить логику исходя из данных

ща покажу

http://trailblazer.to/gems/operation/builder.html

Sergey
20.10.2016
15:09:58
А зачем для этого отдельный гем?

Антон
20.10.2016
15:10:09
вообще не понимаю

Mikhail
20.10.2016
15:10:11
Чтобы не городить паттернов

Антон
20.10.2016
15:10:20
каких паттернов?

Mikhail
20.10.2016
15:10:39
Не парни, я обучать не собирался. Не понимаете почитайте доки)

I
20.10.2016
15:10:50
или книгу

Mikhail
20.10.2016
15:10:57
Лучше книгу

I
20.10.2016
15:11:01
там еще лучше

да

Google
Антон
20.10.2016
15:11:03
если я прочитаю майн кампф как мне поможет это понять фашизм?

Mikhail
20.10.2016
15:11:21
если я прочитаю майн кампф как мне поможет это понять фашизм?
если ты не хочешь понимать, тебе уже ничего не поможет)

Антон
20.10.2016
15:11:32
ну я вижу +10 строк кода и 0 профита

Mikhail
20.10.2016
15:11:46
потому что синтетические примеры

Антон
20.10.2016
15:11:54
если нет возможность объяснить просто - зачем это?

Mikhail
20.10.2016
15:11:58
Это просто отображение как работает

Антон
20.10.2016
15:12:01
заумь?

Mikhail
20.10.2016
15:12:19
если нет возможность объяснить просто - зачем это?
Чтобы моделька не треснула от 1000 строк кода и рубишахта не лагала

Антон
20.10.2016
15:12:45
ну вот в этих примерах я и не писал бы модельку из 1к строк кода

Admin
ERROR: S client not available

Mikhail
20.10.2016
15:12:57
Примеры синтетические

Mikhail
20.10.2016
15:13:11
только идиот будет подключать трейлблейзер чтобы сохранить в бд 2 строчки)

Трейлблейзер же как раз про то, когда у тебя куча бизнеслогики и абстракций и это все можно уместить в такую схему, чем скакать например по сервисам

Доки не очень удачные на самом деле

я бы лучше рекоммендовал книгу и чат

Sergey
20.10.2016
15:15:11
Книга еще и платная

Mikhail
20.10.2016
15:15:13
У них в чате ребята интересно иногда рассказывают, а также примеры кидают

Sergey
20.10.2016
15:15:15
Чет как-то

Антон
20.10.2016
15:15:18
ахахаха

Google
Mikhail
20.10.2016
15:15:25
не нравится не юзай

=)

Антон
20.10.2016
15:15:35
да мне может и нравится

но я не понимаю и не вижу разницы если честно

просто другими буквами написано

Mikhail
20.10.2016
15:16:13
не видишь, значит не дозрел. Значит ты крут насколько, что у тебя код сам складывается хорошо

и тебе направлений не надо, как можно его сложить)

Это всего лишь еще один вариант разбиение бизнес логики, не более.

Alex
20.10.2016
15:21:44
чтобы рубишахта не лагала ее можно выкинуть

Антон
20.10.2016
15:22:11
я оставил, для решения сложных конфликтов

Alex
20.10.2016
15:22:22
Антон
20.10.2016
15:23:03
там удобный решатель git конфликтов из трех окон

I
20.10.2016
15:23:05
merge удобней?

угу

я вообще с IDEA сижу

Alex
20.10.2016
15:23:35
Ну разве что он

С гитом там годно

Антон
20.10.2016
15:23:55
я как то мержил css в 8000 строк кода с 6000 конфликтами

4 дня

Alex
20.10.2016
15:24:06
????

Антон
20.10.2016
15:24:37
так и было

без рубименя я бы не справился

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