
Alexey
23.07.2018
07:22:39
понял, спасибо

Darth
23.07.2018
07:32:38
Вот как после этого к китайцам хорошо относиться?

Ann
23.07.2018
08:26:17
Привет всем. Впервые использую свой класс ошибок и что-то пошло не так.
В моем классе добавила:
class MyClassError < StandardError; end
вызываю при каких-то условиях
case response.status.code
when 400, 403, 500..599
raise MyClassError.new("Response status is #{response.status.code}")
end
Но ошибки корректно не обрабатываются, все равнов выходит простыня путей, как при обычном креше. Что я делаю не так?

Fedor
23.07.2018
08:27:59
Ошибка райзится как standart error и соответственно весь стэк трейс падает в консоль

Google

Fedor
23.07.2018
08:28:17
Обычно делают внутри разных сервисов raise CustomError
А потом внутри контроллера rescue CustomError do ... end
Тоесть ошибку еще и обработать надо

Ann
23.07.2018
08:29:11
это не контроллер (если имеет значение).

Darth
23.07.2018
08:29:18
Когда с AA определяешь контроллер controller do...end как сделать роуты для этих методов? В случае с membet/collection action они сами появляются

Fedor
23.07.2018
08:32:54
не поняла
смотри, ты делаешь raise Exception все что делает руби в такой ситуации - останаливает работу приложение и выкидывает стэк трейс в лог/консоль и все
причем какая ошибка - не важно
что бы как-то ошибку обработать надо использовать resque
идея в том, что ошибки всплывают

Ann
23.07.2018
08:33:31
аааааа все, догнала, спасибо

Fedor
23.07.2018
08:34:04
например, ты в контроллере вызываешь сервис, который внтури себя дергает API и ты хочешь что бы при получении 500 от api контроллер отрендерил что-то адекватное
можно либо сделать внутри сервиса if response.code == 500 сформировать там ответ и вернуть его из сервиса

Google

Ann
23.07.2018
08:34:45

Fedor
23.07.2018
08:34:49
и потом в контроллере понять что сервис сфейлился и отрендерить ошибку
это будет куча условий и параметров типа статуса сервиса

Ann
23.07.2018
08:35:00

Fedor
23.07.2018
08:35:28
другой вариант - сделать внутри сервиса raise ApiError
она сразу прервет выполнение и поднимется до контроллера
и уже в контроллере можно сделать
rescue ApiError => e do
render json: { errors: e }
end
примерно так
если надо могу в гисте пример написать, как это сделать через ифы и как через ошибки

Ann
23.07.2018
08:38:18
было бы круто!

Fedor
23.07.2018
08:49:31
https://gist.github.com/fedorkk/6636524fe93fffca5b54a2d1fccb6ffe

Ann
23.07.2018
08:54:53
Спасибо! Теперь поняла.
Форкнуто)

Fedor
23.07.2018
08:56:50
не за что

Stanislav
23.07.2018
09:11:45
в гисте в 35й строке не опечатка ли с присваиванием?
@FedorKoshel

Alexey
23.07.2018
09:14:21
В 5ой строке то же самое, к слову)

Fedor
23.07.2018
09:15:32

Gregory Tereshko
23.07.2018
10:19:00
Всем привет. Такая проблема, может быть кто-то знает простое решение
Вот есть у меня запись в бд с html текстом, который пользователь может сам кастомизировать
Есть необходимость добавлять в этот плейн html условия как в erb, чтоб при выводе некоторые блоки не рендерились.
Это можно вообще как-то сделать?
Спасибо, если кто-то ответит)

ojab
23.07.2018
10:21:39
засовывать в БД erb?

Google

Gregory Tereshko
23.07.2018
10:22:22

Vladislav
23.07.2018
10:22:54
Делаете вордпресс на рельсах?)

Igor
23.07.2018
10:22:58
А не жирно будет пользователю erb писать? Лучше свои псевдо теги добавить

Gregory Tereshko
23.07.2018
10:23:43

Andrey
23.07.2018
10:24:38

Sergey
23.07.2018
10:25:34

Fedor
23.07.2018
10:26:38

Andrey
23.07.2018
10:27:14
liquid то еще дно конечно, но будет проще чем ерб, по крайней мере для пользователя.

Gregory Tereshko
23.07.2018
10:27:57
Кстати, забыл сказать. Это таблица translations
Есть возможность вставлять переменные в html
I18n.t('translation.name', test: 'some string')
И они сами выводятся в html - %{test}

Антон
23.07.2018
11:16:11
Сразу представил
<title><% TheHumans.kill_all %></title>

Mikhail
23.07.2018
11:17:52
NameError: uninitialized constant TheHumans

Egor
23.07.2018
11:19:12
З - защита

hotline
23.07.2018
11:20:33
Всем привет! Столкнулся с такой проблемой, когда посылаю письмо – тело письма на превью в ящике отображается как хтмл, а не как текст. Подскажите как пофиксить плес?

Антон
23.07.2018
11:21:27
html_safe, raw

Gregory Tereshko
23.07.2018
11:23:33
Аналогично, товарищь предложил erb. Первое что пришло в голову)
Попробуй вот так:
s = "<% User.destroy_all %>"
e = ERB.new(s)
)))
Не сильно безопасно)
Но в ERB как оказалось есть флаги безопасности. Можно запретить модификацию объектов и еще кучу всего. Так что по сути неплохой вариант

hotline
23.07.2018
11:28:48

Антон
23.07.2018
11:29:30
такие проблемы решаются двумя путями
- посмотреть документацию
- погуглить
- посмотреть примеры кода на github

Google

Антон
23.07.2018
11:29:37
г - математика

wi11son
23.07.2018
13:30:46
в программировании всего 2 проблемы:
- неумение гуглить
- лень читать документацию
- начало отсчета с нуля

Sunny
23.07.2018
13:31:00

Admin
ERROR: S client not available

~/42/elrandir> ?ᅠ
23.07.2018
13:31:12

Marat
23.07.2018
14:19:16

Gregory Tereshko
23.07.2018
14:19:43
Спасибо, изучу

Dmitriy
23.07.2018
14:31:38
народ, а не подскажите что использовать для следующей задачи.
Есть почта поддержки куда приходят письма и нужно чтобы каждый раз когда новое письмо приходит создавался тикет со статусом
чтобы это все сортировать можно было
и т.д

wi11son
23.07.2018
14:34:59

Dmitriy
23.07.2018
14:35:21
а чего использовать? какой сервис посоветуешь

wi11son
23.07.2018
14:38:19
https://documentation.mailgun.com/en/latest/user_manual.html#receiving-forwarding-and-storing-messages на mailgun'e

Nikita
23.07.2018
14:43:23
mandrill еще можно

Dmitriy
23.07.2018
14:43:54
спасибо ребят

wi11son
23.07.2018
14:44:40

Nikita
23.07.2018
14:44:58

wi11son
23.07.2018
14:45:05
не нашел

Nikita
23.07.2018
14:45:14
в мандриле вроде нет
сендгрид еще вроде умеет, но это не точно

Google

Nikita
23.07.2018
14:45:41
тогда сорян за дизинформацию, значит путаю, там вэбхук на статус точно есть (это помню)

wi11son
23.07.2018
14:46:21

[Anonymous]
23.07.2018
14:50:02
Есть форма, на ней
<%= f.select :desired_attribute, options_for_select(...), {}, :onChange => “...” + N %>
Где N должно быть выбранным значением из выплывающего списка.
Подскажите как получить текущее значение ?

Gregory Tereshko
23.07.2018
14:51:07
Через js?

wi11son
23.07.2018
14:51:23
где блин вопрос про аа

[Anonymous]
23.07.2018
14:52:22
Через js?
Хотелось бы через rails,
Через js знаю как

wi11son
23.07.2018
14:53:05
через реилз никак

Gregory Tereshko
23.07.2018
14:53:14
Погоди, а что тебе с ним сделать нужно?
У тебя оно будет, когда форма засабмитится

Dmitriy
23.07.2018
14:54:25
f.object.desired_attributes
если я правильно понял

[Anonymous]
23.07.2018
14:56:05
Спасибо

wi11son
23.07.2018
14:56:34
Все, понял.
если конечно до этого у тебя не было значения в объекте, что ты можешь передать в options_for_select