@rubylang

Страница 964 из 1684
v
03.04.2017
03:47:16
present? - это обертка над !empty?

сорян, попутал с утра. Везде, где написано empty?, имелся в виду blank?

Amir
03.04.2017
06:10:23
Люди как правильно сделать вот такое В контроллере почти в каждом action должен быть переменная из сессии вобще логика такая в макете сверху есть селект, и это селект устанавливает определенное значение в сессии и каждый action в контроллерах должен получать значение этой переменной но проверять в каждом след образом if session[:myvar].nil? return end myvar = session[:myvar] как то муторно

I
03.04.2017
06:12:44
return ?

Google
I
03.04.2017
06:12:57
а где это, в отдельной функции где-то?

или во всех экшенах??

Смерть
03.04.2017
06:38:38
Сделай в Application Controller хук на before action, который это делает, а там, где он не нужен делай скип

v
03.04.2017
06:41:59
заибись

делать хуки в Application Controller

а потом придумывать, как обойти действие этого хука

Смерть
03.04.2017
06:43:03
Так если ему почти везде надо

То проще описать исключения

v
03.04.2017
06:43:12
а потом будет надо почти не везде

а осадочек останется

Смерть
03.04.2017
06:43:28
Ну надо будет - отрефакторит

В чем проблема?

v
03.04.2017
06:45:27
в костылях в перспективе

Google
v
03.04.2017
06:45:56
ты, кажется, себя позиционировал как "не веб-макаку"

Смерть
03.04.2017
06:48:12
Предложи решение лучше

m.
03.04.2017
08:50:04
а легче сказать про макаку, чем предложить решение)

не правда ли? )

ojab
03.04.2017
09:45:45
а потом придумывать, как обойти действие этого хука
для этого есть skip_before_action, непонятно что нужно придумывать

Eugene
03.04.2017
10:10:24
можно сделать пустой контроллер с коллбэком before_action. все контроллеры в которых нужен данный функционал наследовать от него.

v
03.04.2017
12:07:30
Предложи решение лучше
не использовать хук, выделить код проверки

а легче сказать про макаку, чем предложить решение)
а про веб-макаку товарищ Смерть Неизбежна высказался. Не знаю, легко ему было или трудно

m.
03.04.2017
12:08:08
)

несложно думаю)

Смерть
03.04.2017
12:08:37
не использовать хук, выделить код проверки
И разве хук это не выделенный код?

v
03.04.2017
12:09:13
И разве хук это не выделенный код?
выделенный. В хук. Не надо выделять код в хук, котрый неявно вызывается

Смерть
03.04.2017
12:10:09
Окей, он выделил метод, дальше что?

v
03.04.2017
12:12:51
а дальше его использует

Смерть
03.04.2017
12:13:03
Вызывает в каждом экшне?

v
03.04.2017
12:15:11
да

Смерть
03.04.2017
12:16:15
Т.е. ты предлагаешь заменить DRY rails решение на копипаст кода?

v
03.04.2017
12:17:01
не на копипаст

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

Google
v
03.04.2017
12:17:43
и я предлагаю не использовать неявные вызовы

Смерть
03.04.2017
12:18:31
И чем это лучше чем написать хук, для которого описать исключения?

v
03.04.2017
12:19:41
тем, что в случае с хуком происходит неявный вызов метода

где-то там

Смерть
03.04.2017
12:21:30
Т.е. по твоей логике вообще нельзя пользоваться хуками, потому что у них якобы неявный вызов?

Eugene
03.04.2017
12:24:00
тем, что в случае с хуком происходит неявный вызов метода
хуками как и многими другими вещами вредно злоупотреблять. городить забор из нескольких последовательных коллбэков это такое себе, но что плохого в проверке переменной сессии перед экшном?

s
03.04.2017
12:25:24
+1 за явный вызов метода set_var_if_available!

Смерть
03.04.2017
12:26:10
Ну и я, кстати, извиняюсь. Невнимательно прочитал исходное сообщение, и думал что у него дня всех контроллеров надо это делать. Поэтому и предложил положить в базовый.

s
03.04.2017
12:26:14
хотя, если там речь только об одном контроллере, то можно и экшеном

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

иначе потом в этот метод добавятся всякие проверки, чтобы оно не валилось на nil

потом окажется, что хер знает что в каждом экшене приложения вызывается

ojab
03.04.2017
12:28:06
то бишь стандартный devise'овский before_action :authenticate_user! лучше заменять на явный вызов метода, например?

s
03.04.2017
12:28:44
нет, зачем?

точнее, зависит от контекста

Eugene
03.04.2017
12:29:53
да пусть он создаст контроллер с этим хуком и везде где нужно наследуется от него.

ojab
03.04.2017
12:29:56
выше речь как раз о before_action'ах, которые должны выполняться практически во всех контроллерах

s
03.04.2017
12:30:13
если аутентификация нужна только в 3х экшенах, из 10, то можно и руками)

ojab
03.04.2017
12:30:13
:authenticate_user! как раз так и работает, например

Смерть
03.04.2017
12:31:18
Но в сообщении то и сказано, что у него почти во всех экшнах

Google
ojab
03.04.2017
12:31:25
да пусть он создаст контроллер с этим хуком и везде где нужно наследуется от него.
так что с before_action :authenticate_user! делать? Менять на явный вызов?

ojab
03.04.2017
12:32:50
так что с before_action :authenticate_user! делать? Менять на явный вызов?
оу, это в сторону @vskopuk должно было быть, промазал

Смерть
03.04.2017
12:33:21
И лучше писать явный вызов метода везде, где он используется, даже если этот метод вызывается в 80% экшнов в разных контроллерах?

80% это как пример

Admin
ERROR: S client not available

Смерть
03.04.2017
12:34:09
Окей

Но я все таки продолжу делать на хуках

И скипать их там, где не нужно

v
03.04.2017
12:34:43
да хоть на жаваскрипте пиши, хехехехех

Eugene
03.04.2017
12:34:49
можно написать модуль и инклюдить его в контроллеры. тогда уже не наследование а композиция получается

Смерть
03.04.2017
12:35:05
Чем много раз вызывать этот же код вручную

Eugene
03.04.2017
12:35:20
тогда явно будет видно что контроллер не простой а с какими то особенностями

s
03.04.2017
12:35:25
если before_action :authenticate_user! написано в ApplicationController, то это не очень хорошо и даже дерьмово

вроде об этом же речь

а не о том, что before_action нельзя использовать

v
03.04.2017
12:36:18
Чем много раз вызывать этот же код вручную
ничо, когда ты вместо вызова кода будешь делать проверки на то, скипать тебе хук ли нет, и не надо ли в данные, которые в хуке поменяли, добавить что-нибудь - мнение поменяется

Google
Eugene
03.04.2017
12:36:54
если before_action :authenticate_user! написано в ApplicationController, то это не очень хорошо и даже дерьмово
согласен. я как минимум на каждый неймпспейс создаю base_controller.rb и в них уже добавляю необходимое. App Controller по минимуму трогаю

Смерть
03.04.2017
12:37:17
И тогда я просто отрефакторю код, скипну хук в том месте, где мне нужна кастомная логика и напишу отдельный метод

v
03.04.2017
12:38:54
дада, "просто отрефакторю"

been there

Смерть
03.04.2017
12:41:45
Окей, чувак. Я не буду с тобой спорить. Попробуй в следующий раз не переходить на личности и использовать аргументы.

Vasiliy
03.04.2017
12:49:57
это же рор чат

Кøе-ктø Геннадьевич
03.04.2017
12:53:57
вот так

m.
03.04.2017
12:59:10
отвлекитесь посмейтесь https://ebanoe.it/2017/04/02/wasted-life-in-it/

)

Semyon
03.04.2017
13:20:44
бггг

m.
03.04.2017
13:21:25
))

не ждали? )

Yegor
03.04.2017
13:25:37
привет всем)

Dmitry
03.04.2017
13:36:38
Ребят, подскажите для еженедельных отчетов, есть смысл использовать Date.commercial для определяния времени начала и конца периода? или проще стандартными манипуляциями с датой воспользоваться

просто мне тут надо нарегенить недельные отчеты за пол года, и не знаю что будет проще всего заюзать

ojab
03.04.2017
13:41:18
недельные — пн-вс или по номеру недели в году?

Dmitry
03.04.2017
13:42:45
я думал хранить данные в виде номеров недель так проще будет

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