@rubylang

Страница 973 из 1684
Василий
11.04.2017
13:51:35
Для str = 'qwertyuiopasdfghjkl'

Vasiliy
11.04.2017
13:51:46
ещё думаю можно наверное через sprintf()

Василий
11.04.2017
13:52:04
А в конец добавляет что укажешь, в том числе и конец той же строки

truncate конец же только режет

Google
Dmitry
11.04.2017
13:53:49
Кто с шопифаем работал? Как блять мне изьебнуться чтобы передать в коллбек параметр?

Мне надо чтобы сессия с моего сайта не терялась когда я ухожу на шопифай для получения токена

Silent Bob
11.04.2017
13:55:18
url.sub(/\A(.{10}).+(.{10})\Z/m, '\1...\2')
спасибо, в этом варианте отлично что короткие строки не сокращаются

Amir
12.04.2017
01:37:13
Подскажите Как группировать контроллеры в один Например есть несколько контроллеров controller1, controller2, controller3 url выглядит так myslite.com/controller1/action1 myslite.com/controller2/action1 myslite.com/controller3/action1 и т.д. Хочу чтобы было mysite.com/super/controller1/action1 mysite.com/super/controller2/action1 mysite.com/super/controller3/action1 т.е. даже любой контроллер можно было легко перенести на другой

Amir
12.04.2017
06:21:21
http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
А как можно сделать чтобы у определенного namespace был свой layout?

Александр
12.04.2017
06:23:01
я так не делал, но думаю сработает: http://stackoverflow.com/questions/8080025/providing-a-default-layout-for-views-within-a-namespace#answer-8080917

Смерть
12.04.2017
09:40:42
Почему after_action выполняет только первую строку кода? Я что-то не понимаю?

Хочу что-то такое def save_audit_info act = action_name ctrl = controller_name resource_id = params[:id] admin_id = current_admin_user.id logger.info(ctrl,act,resource_id,admin_id) if %w(create, update, destroy).include? act entry = AuditEntry.new end end

Но почему-то выполняется только первая строка

Andrey
12.04.2017
09:43:26
в %w разве нужны запятые?

Смерть
12.04.2017
09:44:27
нет, это я опечатался

Все, что после логера пока не важно

Google
Смерть
12.04.2017
09:45:14
Мне бы понять почему у меня не выполняется код, хотя никаких исключений не происходит

Vasiliy
12.04.2017
09:47:28
а как ты понял что только первая строка выполняется?

Смерть
12.04.2017
09:47:53
по дебагу. Остнавливается если точка на первой строке. Дальше все

Vasiliy
12.04.2017
09:48:21
степ инто попробуй

Смерть
12.04.2017
09:48:23
Дальше выходит из метода и идет по перебору фильтров

Andrey
12.04.2017
09:48:34
ну таки если брейкпоин на первой строке на той строке и остановится

Смерть
12.04.2017
09:48:51
да, но после первой он не переходит на вторую

Andrey
12.04.2017
09:48:52
повставляй туда puts "A" puts "B" и тд

Смерть
12.04.2017
09:48:57
а выходит из метода

Vasiliy
12.04.2017
09:49:10
он видимио ставит на первую и у него выход из метод на след шаге

степ_инто сделай на 1 строке

Смерть
12.04.2017
09:49:31
я уже и логировал, и ставил точки останова, и проверял что не выдается исключений

v
12.04.2017
09:50:48
нет бы просто puts сделать

нет, надо чтобы как увзрослых жяденек, с дебаггером и точками останова, кекеке

Смерть
12.04.2017
09:51:29
Переходит в inheritance.rb, ClassMethods.new

Vasiliy
12.04.2017
09:51:49
я так думаю что в after_action у тебя доступа к action_name нет

Смерть
12.04.2017
09:52:09
нет, надо чтобы как увзрослых жяденек, с дебаггером и точками останова, кекеке
я пять лет так делаю, это моя привычка. Можешь пытаться язвить сколько хочешь

Vasiliy
12.04.2017
09:52:54
в act есть имя экшена?

Смерть
12.04.2017
09:53:22
не знаю, не могу проверить. code eval корректно отрабатывает action_name

Google
Vasiliy
12.04.2017
09:53:58
во, ещё можешь попробовать Evaluate Expression ALT+F8 нажать во время остановки и повызывать controller_name и прочее

Смерть
12.04.2017
09:54:10
Пробовал

Все работает

все возвращается

v
12.04.2017
09:54:35
лишь бы puts не использовать

Смерть
12.04.2017
09:54:42
все четыре метода отдают корректный результат при Evale

Vasiliy
12.04.2017
09:55:03
как тебе в данном случае поможет puts?

v
12.04.2017
09:55:37
избежанием "не знаю, не могу проверить"

Andrey
12.04.2017
09:56:24
https://tenderlovemaking.com/2016/02/05/i-am-a-puts-debuggerer.html

Vasiliy
12.04.2017
09:57:05
а? Он говорит - у него метод выполняет 1 строку и выходит, после путса будет выходит так же ?

Смерть
12.04.2017
09:57:19
Т.е. если я напишу вначале puts 'Hello' то выполнится только это, дальнейший код не сработает

Vasiliy
12.04.2017
09:58:08
я думаю в общем у тебя там эксепшен лезет и рельса где-то его гасит и выходит

Andrey
12.04.2017
09:58:38
перед end поставть rescue => e puts e

Смерть
12.04.2017
09:58:46
Я тоже так думал, но нет эксепшна

Vasiliy
12.04.2017
09:59:26
у меня так с мейлером было, он в дебаге гасит эксепшены при рендере и ничего не происходило

Смерть
12.04.2017
10:00:26
def save_audit_info begin act = action_name ctrl = controller_name resource_id = params[:id] admin_id = current_admin_user.id rescue => ex puts ex ensure logger.info(ctrl,act,resource_id,admin_id) if %w(create update destroy).include? act entry = AuditEntry.new end end end

проверял так

В rescue блок не попадаю

Andrey
12.04.2017
10:01:11
в ensure эксепшен

Google
Смерть
12.04.2017
10:01:44
в ensure эксепшен
Скажу больше, я даже в первый блок не попадаю



Andrey
12.04.2017
10:02:42
вот код

after_action do act = action_name ctrl = controller_name resource_id = params[:id] admin_id = nil logger.info([ctrl,act,resource_id,admin_id].join(",")) if %w(create, update, destroy).include? act entry = AuditEntry.new end end

все работает вывод

dashboard, index,,

Смерть
12.04.2017
10:03:19
Блин, походу это какой-то косяк active_admin

v
12.04.2017
10:03:21
Admin
ERROR: S client not available

Vasiliy
12.04.2017
10:03:47
в дебаге тоже

и сразу всё что надо в контексте, а не ребутать каждый раз страницу и ставить в разные места путс

Смерть
12.04.2017
10:04:21
в дебаге можно остановить код, и проверить в Code Eval как правильно дальше должен работать метод

v
12.04.2017
10:04:34
в дебаге тоже
ну вот он не мог, кекекекеке

Смерть
12.04.2017
10:04:36
За один останов можно полностью отдебажить метод

Vasiliy
12.04.2017
10:04:48
эм... путс тоже

а как ты задаешь колбек?

он один?

Смерть
12.04.2017
10:05:58
а как ты задаешь колбек?
в config/active_admin.rb => config.after_filter :save_audit_info

Vasiliy
12.04.2017
10:07:23
вот в принципе у Андрея норм всё

after_action do act = action_name ctrl = controller_name resource_id = params[:id] admin_id = nil logger.info([ctrl,act,resource_id,admin_id].join(",")) if %w(create, update, destroy).include? act entry = AuditEntry.new end end

Google
Vasiliy
12.04.2017
10:08:36
я думаю 1) Всё работает 2) АА ловит своим обработчиком ексепшен и гасит его

Смерть
12.04.2017
10:08:44
Да, наверное придется делать так же. Хотел просто сделать так, как задумано в AA

Artur
12.04.2017
10:22:52
котаны, мне надо в одном тесте из всех сделать self.use_transactional_fixtures = false, а чтобы в остальных self.use_transactional_fixtures = true осталось

вопрос

если я в файле теста после дескрайба так объявлю, это будет работать только в контексте текущего теста, или везде поменяет?

Смерть
12.04.2017
10:42:23
Блин, теперь другая проблема after_action :save_audit_info, only: %w(create update destroy)

почему-то only не отрабатывает

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

Artur
12.04.2017
10:43:14
лучше так всё же %i(create update destroy)

Смерть
12.04.2017
10:44:00
Не, тоже не помогло

Roman
12.04.2017
10:48:44
А в чем разница между %w и %i ?

Василий
12.04.2017
10:50:26
строки - символы

А тут для only не должно быть разницы

Смерть
12.04.2017
10:56:40
Но почему то на index, например я все равно попадаю в метод

Все так же похоже на баги АА

Artur
12.04.2017
10:59:56
попробуй отладить? в методе save_audit_info вызови binding.pry, например

Vasiliy
12.04.2017
11:01:10
выше писали же)

Смерть
12.04.2017
11:04:46
короче, скажу я вам, использование колбеков с AA это боль

v
12.04.2017
11:05:28
аа вообще боль

Artur
12.04.2017
11:06:00
коллбэки вообще боль

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