@rubyschool

Страница 373 из 921
Tanya
18.09.2017
08:15:31
про которую тут все говорили, гибкая разработка

evgeny
18.09.2017
08:16:12
Tanya
18.09.2017
08:22:20
evgeny http://rusrails.ru/ тут можешь смотреть изменения, сайт более менее обновляется. ну и если что то не понятно в книге попробовать тут найти почитать.

Google
Nikolay
18.09.2017
08:43:03
подскажите пожалуйста такую штуку. Вот у меня есть экшн, в котором вызывается приватный метод в контроллере, а в нем есть проверка на ошибку и если ошибка происходит надо сделать редирект на другой экшн. И чтобы при этом прекратилось выполнение действий из первого экшна. Как лучше сделать?

Fedor
18.09.2017
08:45:02
redirect автоматом прервет выполнение

http://api.rubyonrails.org/v5.1/classes/ActionController/Redirecting.html

О, наврал

"Statements after redirect_to in our controller get executed, so redirect_to doesn't stop the execution of the function. To terminate the execution of the function immediately after the redirect_to, use return."

забавно, в 4 рельсе, вроде прерывалось

Nikolay
18.09.2017
08:46:14
да, тоже думал так и обломался

Fedor
18.09.2017
08:46:20
redirect_to post_url(@post) and return

Nikolay
18.09.2017
08:46:21
а я в 4-ой

Fedor
18.09.2017
08:47:02
а, я просто везде render использую )

Nikolay
18.09.2017
08:48:15
render прервет?

Vitaliy
18.09.2017
09:01:07
Не-а

Fedor
18.09.2017
09:04:22
у меня отваливается

Google
Fedor
18.09.2017
09:04:29
сейчас pry воткнул, не вызывается

Nikolay
18.09.2017
09:05:33
ну да, не получилось. это у меня идет обращение к внешнему апи и хочу сделать контроль ошибок в одном месте, чтобы в случае ошибки перебрасывало на ошибку

Fedor
18.09.2017
09:06:45
а почему просто не вернуть ошибку?

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

Nikolay
18.09.2017
09:11:29
тогда же во всех местах придется проверять на ошибку, а так хотел проверку вставить в общий метод, который отправляет запрос и отдает ответ, чтобы если ошибка перебрасывал на страницу и говорил что там. Это все еще оплата у меня

Fedor
18.09.2017
09:13:31
можно написать один метод, который принимает блок и умеет обрабатывать ошибки, а все остальное передавать ему в виде блоков

получится dsl как у grape )

или напить concern который будет содержать соновной метод, вызывающий какой-то другой и обрабатывающий его ошибки

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

Fedor
18.09.2017
09:17:35
почему нет?

Igor
18.09.2017
09:17:54
почему нет?
типа, лучше написать Service, нежели юзать concerns

Fedor
18.09.2017
09:17:55
можно и базовый класс наследовать, но это сильно сужает возможности для последующего расширения системы

consern - это модуль, содержащий некоторую общую логику для других классов. Он подключается там где нужен и добавляет эту логику

а service - это просто клас, который реализует нечто и возвращает какое-то значение

service - он ради инкапсуляции, а consern - ради наследования )

Nikolay
18.09.2017
09:33:15
ну для меня пожалуй пока это круто или для этой задачи

Denis
18.09.2017
10:08:32
Рубаны, помогите нубасу! Как мне в одной rake задаче получить результат, который возращает (в консоль?) предыдущая rake-задача? Обе задачи запускаются в разных докер-контейнерах.

Google
Vitaly
18.09.2017
10:10:55
как вариант написать обработчик на баше

или сохранять результат либо в базу, либо в общий volume

Denis
18.09.2017
10:12:46
босс говорит, что как-то можно дернуть результат первой задачи (в моем случае массив ids) из консоли, при запуске второй, без баша

мне бы все это на рубях написаьт, не то что на баше

отмена, нашелый более простой способ

Vitaly
18.09.2017
10:25:24
ну, можешь их в переменную окружения положить

а потом из рубей его дернуть

Denis
18.09.2017
10:29:12
а вобще, есть возможность из задачи одного контейнера, запустить задачу другого?

т.е. запустить вторую, которая запустит первую и получив ее результат продолжит работу?

Vitaly
18.09.2017
10:30:00
https://stackoverflow.com/questions/2232/calling-shell-commands-from-ruby

https://stackoverflow.com/questions/577944/how-to-run-rake-tasks-from-within-rake-tasks

Alex
18.09.2017
12:46:57
В данном сборние вопросов есть вопрос под номер 5) Какие есть способы вызова методов в Ruby? Не совсем понимаю формурировку вопроса. Что-то вроде: obj.method ?

Fedor
18.09.2017
12:48:17
есть через точку obj.method

есть через метод: obj.send(:method)

Alex
18.09.2017
12:48:54
Про второй я даже не знал )

Sergey
18.09.2017
12:48:58
obj.method(:method).call

Fedor
18.09.2017
12:49:07
ага

это удобно, когда ты не знаешь заранее, какой именно метод ты захочешь вызвать

динамический язык

Google
Alex
18.09.2017
12:50:28
obj.method(:method).call
в данном случае :method это переменная?

Fedor
18.09.2017
12:51:41
это символ

название метода

тоесть можно сделать так: method = :method_name obj.send(method)

Alex
18.09.2017
12:54:34
тоесть можно сделать так: method = :method_name obj.send(method)
Это понял, а в случае call передача метода в метод?

или это равнозначно obj.method где method это имя метода?

Nikolay
18.09.2017
12:58:14
а как в рельсах определить локаль посетителя?

Vlad
18.09.2017
12:58:32
I18n.locale

Fedor
18.09.2017
12:58:39
Admin
ERROR: S client not available

Fedor
18.09.2017
12:58:51
в руби все что у тебя есть - это объекты

методы объектов - тоже объекты )

тоесть ты берешь метод объекта, и вызываешь у него метод call

и тем самым вызываешь изначальный метод ))))

Alex
18.09.2017
13:05:11


Я верно понял?

Fedor
18.09.2017
13:07:48
да

или obj.send(:test)

Alex
18.09.2017
13:08:34
спасибо

Nikolay
18.09.2017
13:11:37
мне просто получить например 'en_GB'

Google
Ro
18.09.2017
15:00:00
к слову о ноутах - оказывается чо бывает https://geoff.greer.fm/2017/07/16/thinkpad-x62/

для тех, кто в теме thinkpad'а - тот поймет

Dmitry
18.09.2017
15:05:04
заинтриговал)

Ну я хз что у него там в клавиатуре не так как у леново



Это леново thinkpad t420

Olga
18.09.2017
15:09:11
прямо мурашки по коже, набегалась я с таким))) у нас на старой работе такие выдавали. Некоторые богатые программеры не выдерживали и брали за свои кровные себе маки))). Вот вот леново были))

spartakusQ
18.09.2017
15:09:18
Удобно пользоваться трекпадом который в центре?

Dmitry
18.09.2017
15:09:29
В транспорте да

Когда приноровишся одобнее чем тачем

Fedor
18.09.2017
15:10:01
зачем эти приблуды?

консоль же есть

Fedor
18.09.2017
15:11:06
vlc ~/best_pron/first_sample.mp4 &

Dmitry
18.09.2017
15:11:33
Все через консоль делать не будешь.

В той же виртуалке в винде например

К слову мощи в ноуте очень норм, тут i5 8 гигов оперативы, ssd, HDD, 1600x900

Fedor
18.09.2017
15:12:53
винда ставится в дуалбут для игр

Dmitry
18.09.2017
15:12:58
Дешевое и надежное решение, если на пол упадёт , сломается пол

Fedor
18.09.2017
15:13:03
больше она не нужна ни для чего, зачем на нее мощности тратить?

Dmitry
18.09.2017
15:13:23
винда ставится в дуалбут для игр
У меня виртуалка часто запущена во втором workspace

Страница 373 из 921