@rubylang

Страница 1174 из 1684
Nikita
16.08.2017
09:45:50
ну надо

но я хз о какой боли речь

есть ведь .vue.erb

ну естественно, при наличии вэбпака

Google
Vasiliy
16.08.2017
09:53:09
есть ведь .vue.erb
есть да, но это хреновый подход, у тебя фронт должен с беком через апи общаться, а не в себе данные держать

Nikita
16.08.2017
09:53:20
@vasivas так я с тобой на 100% согласен

прикрутил пейперклип

получил url

картинки. а где храниться она (s3 или локал) - это уже его настройка

Vasiliy
16.08.2017
09:54:51
картинки можно в паках так же хранить

Nikita
16.08.2017
09:55:02
ну это статические

Vasiliy
16.08.2017
09:55:10
да

Nikita
16.08.2017
09:55:20
статические просто в src можно кидать

Vasiliy
16.08.2017
09:55:23
про ассеты скорее всего про них речь

Nikita
16.08.2017
09:55:42
так лол, статические картинки нужно хранить на стороне вью, а не рельсы

Roman
16.08.2017
13:13:01
Всем привет. А коллбэки в моделях выполняются в порядке их описания? допустим, два before_save

Vasiliy
16.08.2017
13:16:08
да

Google
Vasiliy
16.08.2017
13:16:14
но они зло

Roman
16.08.2017
13:17:11
почему?

вредно обмазываться коллбэками с ног до головы?

это же так приятно

Vasiliy
16.08.2017
13:17:45
неявно

Anton
16.08.2017
13:17:59
ojab
16.08.2017
13:18:05
на самом деле не совсем, см. http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html => Ordering callbacks

Anton
16.08.2017
13:18:07
я уже много раз писал, пора в канал написать, лол

вредно обмазываться коллбэками с ног до головы?
1. сложно читать код, ты не понимаешь от куда переменная взялась, если ты не знаешь о колбэке 2. обычно их 2+ и тут начинается веселье. как ты будешь уверен, какой выполнится первым? 3. чаще всего в колбэках мутируют данные или же письма шлют, это в свою очередь: 3.1 пиздец сложно тестировать 3.2 увеличивает связанность между частями системы, что приводит к куче проблем 3.3 почему не взять адекватное прямолинейное решение проблемы, отдельно от модели например? но почему-то всем срать и все пихается в модель/контроллер и прочее. 4. дебаг системы, в которой дохуя колбэков - отличное время препроваждения, я настоятельно рекомендую попробовать

вот у тебя второй пункт

Roman
16.08.2017
13:19:23
ага, то есть лучше сделать метод и вызвать его в контроллере?

Roman
16.08.2017
13:19:58
хорошо, спасибо)

Anton
16.08.2017
13:20:01
ну, это одно из решений

Vasiliy
16.08.2017
13:22:06
ага, то есть лучше сделать метод и вызвать его в контроллере?
или сервис сделать который несколько действий делает или тут часто пишут про оперейшены, итеракторы

Anton
16.08.2017
13:22:44
Или команду, которая сохраняет что-то

Или обновляет

Roman
16.08.2017
13:24:01
Evegeniy
16.08.2017
13:24:42
CommandObject

Anton
16.08.2017
13:24:45
Скорее класс (а-ля сервис)

Google
Anton
16.08.2017
13:24:48
CommandObject
Именно

Roman
16.08.2017
13:25:06
в чем отличие от Service Objects?

Evegeniy
16.08.2017
13:25:41
идейное отличие в том, что команда - это прямолинейный набор методов, а сервис обжект - скорее инкапсулирует какое-либо поведение

Anton
16.08.2017
13:25:43
Назначением

Evegeniy
16.08.2017
13:26:13
http://metalelf0.github.io/rails/2016/05/02/command-pattern

Vasiliy
16.08.2017
13:26:15
на самом деле это почти одно и тоже, но ньюсы использования, кодинга этого

Roman
16.08.2017
13:26:57
а как это хранить правильно? сделать папку в models типа order_services?

или отдельно services в app и там подпапку orders?

Evegeniy
16.08.2017
13:27:26
app/commands/orders

Roman
16.08.2017
13:27:59
всем огромное спасибо)

Vasiliy
16.08.2017
13:28:00
да, ничего страшного в создании своих папок в app нет

Evegeniy
16.08.2017
13:28:12
https://github.com/karmajunkie/imperator

можешь вот этот гем посмотреть

вроде в Trailblazer тоже команды есть

если память меня не подволит

Gleb
16.08.2017
13:28:38
или interactor

Vasiliy
16.08.2017
13:29:15
https://github.com/karmajunkie/imperator
оно ж виртус зачем то тащит

Roman
16.08.2017
13:29:52
пока без гемов обойдусь)

Anton
16.08.2017
13:29:59
да гемы не нужны по сути

Google
Evegeniy
16.08.2017
13:30:06
https://www.icelab.com.au/notes/functional-command-objects-in-ruby/

вот статья хорошая

Roman
16.08.2017
13:31:37
сделал файл commands/order/create/create_order.rb, класс CreateOrder, прописал в autoload_paths пусть прямо до файла, вызываю в консоли CreateOrder.new и получаю ошибку uninitialized constant CreateOrder

Evegeniy
16.08.2017
14:00:01
если такой путь

то commands/order/

Admin
ERROR: S client not available

Evegeniy
16.08.2017
14:00:21
но лучше Orders сделать неймспейс

Vasiliy
16.08.2017
14:01:29
вообще можешь класс просто назвать Commands::Order::Create::CreateOrder (вроде так)

Roman
16.08.2017
14:01:41
да я обычно через неймспейс все делал, допустим Api::V1::Admin::UsersController. А тут так не прокатило

Vasiliy
16.08.2017
14:01:46
в автолоадс не надо ничего прописывать

ты в апп делал коммандс?

Roman
16.08.2017
14:02:21
да

Vasiliy
16.08.2017
14:02:32
а, сорян

верхний уровень не в счет же

вот так должно быть Order::Create::CreateOrder

Roman
16.08.2017
14:03:54
да, заработало, спасибо)

Anton
16.08.2017
14:05:47
вот так должно быть Order::Create::CreateOrder
только переименуйте комманду, ибо совсем не красиво выглядит же :(

Vasiliy
16.08.2017
14:06:26
да, тоже смотрю и думаю что куда-то тут надо Command вставить а то не ясно что это

Google
Anton
16.08.2017
14:07:23
ну, в идеале должно быть Commands::Orders::Create

Roman
16.08.2017
14:07:44
ну в модуль значит засунуть надо

Vasiliy
16.08.2017
14:08:38
так это, в модуль вроде если засунешь автозагрузка сломается

но вообще можно тип OrderCommands::Create - commands/order_commands/create.rb

Evegeniy
16.08.2017
14:09:50
Вроде рельса все автолоадит, что в app

Anton
16.08.2017
14:09:55
это как решишь на самом деле

Roman
16.08.2017
14:09:55
не должна сломаться, у меня есть классы со сторонними сервисами, там в модуле все и норм

Evegeniy
16.08.2017
14:10:04
начиная с 4.x (какой точно не помню)

Vasiliy
16.08.2017
14:10:18
да, автолоадит, но срезает верний уровень

там как т app/*/**

поэтому не надо указывать Model::Name а просто Name

有希
16.08.2017
14:12:12
Всем привет. Подскажите порядок изучения технологий для вливания в RoR разработку?

Evegeniy
16.08.2017
14:12:21
Привет, а чем ты до этого занимался?

有希
16.08.2017
14:12:30
Qt/C++

Evegeniy
16.08.2017
14:12:54
Долго?

Qt/C++

有希
16.08.2017
14:13:11
5 лет

Evegeniy
16.08.2017
14:13:13
ну вообще можешь просто Agile Web Development With Rails 5 читануть

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