Alexander
24.02.2018
18:16:56
NameError (undefined local variable or method `stop' for main:Object)
Nikita
24.02.2018
18:17:16
Сорри, в терминале, не консоле)
Alexander
24.02.2018
18:17:34
так, это я в рельсо консоли сделал, надо было обычную видимо
Nikita
24.02.2018
18:17:45
Да, в терминале
Google
Alexander
24.02.2018
18:17:54
rbenv: Spring: command not found
в директории с проектом само собой
на всякий случай - то, что я перезапускал сам rails server никаким образом не перезапускает spring, верно?
Anton
24.02.2018
18:19:29
Nikita
24.02.2018
18:19:45
Anton
24.02.2018
18:20:06
Nikita
24.02.2018
18:20:15
biert
24.02.2018
19:07:06
https://codeclimate.com/blog/7-ways-to-decompose-fat-activerecord-models/ клевая статья
Anton
24.02.2018
19:25:50
Aleksey
24.02.2018
19:41:00
руби 2.6.0 превью is here https://www.ruby-lang.org/en/news/2018/02/24/ruby-2-6-0-preview1-released/
с jit’ом и куртизанками
Google
Darth
24.02.2018
20:13:35
Пхп, пайтон и жс получили типы данных, а руби до сих пор нет
biert
24.02.2018
20:19:52
какие
Darth
24.02.2018
20:21:39
объявление с типами, ну
в пхп с 7 версии кажется, в жсе тайпскриптом и подобными приблудами, в пайтоне вроде в 3,6 версии (не уверен)
biert
24.02.2018
20:23:17
strict mode?
Darth
24.02.2018
20:24:27
причем тут стрикт мод?
Nikita
24.02.2018
20:26:15
@Eugene_Shved ojab
biert
24.02.2018
20:27:53
не о том подумал
Igor
25.02.2018
03:06:14
Dmitry
25.02.2018
04:27:26
Как хоть загуглить, а то я даже позавидовать пехапашникам как следует не могу.
Black
25.02.2018
05:50:46
Лучше рассказывайте секреты по Rails (принципы программирования)
Vasiliy
25.02.2018
05:51:10
Black
25.02.2018
07:10:17
!!! Вопрос о порядочном коде !!!
Допустим, есть 2 контроллера (не считая application).
В первом контроллере понадобился метод A, пишем его там. Через некоторое время такой же метод A понадобился и во втором контроллере.
ВОПРОС: правильней будет удалить метод из первого контроллера и написать в Application-контроллере или все же написать и во втором контроллере такой же метод?
Aleksey
25.02.2018
07:18:22
По-моему ответ очевиден
Ну вместо application контроллера можно в какой нибудь concern или просто модуль вынести
Black
25.02.2018
07:19:12
Убрать со всех, и написать в Application?
Aleksey
25.02.2018
07:19:23
В любом случае dry есть dry
Black
25.02.2018
07:21:17
Продолжение вопроса...
Мы убрали со всех контроллеров метод A, и написали его в Application-контроллер.
Но что же делать, если метод A понадобился во view?
Варианты:
- просто написать этот метод в хэлпере;
- убрать тот метод из application-контроллера, написать в application-хэлпере, и этот хэлпер подключить в application-контроллере.
Какой вариант лучший (значит оптимальный)?
Антон
25.02.2018
07:25:35
мало данных для принятия решения
Google
David
25.02.2018
07:26:15
Если просто решить задачу то под методом можно написать helper_method :method_name
Black
25.02.2018
07:28:21
David
25.02.2018
07:29:06
def method
end
helper_method :method
Антон
25.02.2018
07:29:06
у вас нет примера
вопрос и пример сферический и в вакууме
что лучше: жить в браке или развестись?
Black
25.02.2018
07:30:08
Антон
25.02.2018
07:30:15
вот именно
практически, можно так проектировать приложение, чтобы методов в контроллерах не было вообще
ну кроме пермитов аттрибутов
получится ханами наверное
Black
25.02.2018
07:36:53
Повторный вопрос с примером:
Есть метод A в ApplicationControllere, который нужен именно контроллерам. Но со временем, такой же метод A понадобился чтобы использовать его в хэлперах.
Для порядочного кода, какие варианты есть и какой лучше. Вот мои варианты:
- просто написать такой же метод в главном хелпере (тогда не будет dry);
- стереть тот метод из главного контроллера, написать тот метод в главном хэлпере и этот хэлпер инклудить в главном контроллере. Тогда и для контроллеров и хэлперов будет один метод (тогда будет dry, но будет ли правильным?)
Антон
25.02.2018
07:37:43
да что за метод, чорт побери? сознавайся уже
David
25.02.2018
07:38:12
Black
25.02.2018
07:38:27
Антон
25.02.2018
07:40:03
Это значит, значит ты не смог суть передать
В хелпер методах допускается например рендерить кнопки, в контроллерах этого делать... не рекомендуется.
А значит на твой вопрос опять нет прямого ответа
David
25.02.2018
07:40:07
Nikita
25.02.2018
07:40:18
Если этот метод нужен в нескольких контроллерах и вьюхах, то очевидно, что в родительском контроллер?
Google
Anton
25.02.2018
07:41:26
Антон
25.02.2018
07:42:03
ну начинается ?
Black
25.02.2018
07:42:14
Anton
25.02.2018
07:42:33
А вообще, если тебе нужно что-то делать в экшене и контроллере - то это попахивает говнокодом
Nikita
25.02.2018
07:42:42
Ну на счёт вьюхи спорный момент
Black
25.02.2018
07:42:44
ну начинается ?
А ты не замечал, что работа программиста похожа на работу детектива??
Anton
25.02.2018
07:43:01
Потому что контроллер должен предоставлять данные для вью
Black
25.02.2018
07:43:22
Nikita
25.02.2018
07:43:24
Антон
25.02.2018
07:43:44
Anton
25.02.2018
07:44:13
Потому что такие методы - 100% не связаны с контроллером, а больше по бизнес логике, а такое держать в экшенах или вью - так себе затея
Black
25.02.2018
07:45:05
David
25.02.2018
07:45:27
Становится очень увлекательно)
Anton
25.02.2018
07:45:47
Антон
25.02.2018
07:45:53
подождите, мне нужно время чтобы попкорм сделать
Black
25.02.2018
07:46:14
Anton
25.02.2018
07:46:33
А потом уже можно говорить о чем-то
Black
25.02.2018
07:47:28
Я много заморочился, оказывается можно было так задавать вопрос:
Есть метод A, который нужен и для контроллеров и вьюх. Что лучше делать?
Google
Artur
25.02.2018
07:47:34
Ух щас пиздилка будет.
Нада пацанов собирать
Антон
25.02.2018
07:48:17
David
25.02.2018
07:48:54
Антон
25.02.2018
07:49:04
значит надо банить
и вопросы типа "А ты прекратил пить по утрам коньяк?" страшно бесят
Anton
25.02.2018
07:49:35
Black
25.02.2018
07:50:07
Если спрашиваете о содержании вопроса, значит вопрос не поняли. Пусть поймут великие!
David
25.02.2018
07:50:45
Black
25.02.2018
07:50:47
Щас придумаю пример метода, который может понадобится и в контроллерах и вьюх.
Антон
25.02.2018
07:51:06
Nikita
25.02.2018
07:51:17
Anton
25.02.2018
07:51:25
Black
25.02.2018
07:51:42
Ну ладно:
def recurs(district_id)
[district_id] + District.where(id_parent: district_id).pluck(:id).flat_map { |d| recurs d }
end