
Anon
23.03.2017
14:42:21
у меня рауты могут меняться/создаваться же

v
23.03.2017
14:48:12

Антон
23.03.2017
14:50:39
Спасибо огромное
get '*path/foo', to: redirect("/%{path}")
it do
get '/asdasdasd/foo'
expect(response).to redirect_to('/asdasdasd')
end

Google

v
23.03.2017
14:50:57

Антон
23.03.2017
14:51:07

Anon
23.03.2017
14:52:16

Антон
23.03.2017
14:53:04
подозрительно что в актуальной документации нет решения
я это делал лет 5 назад, мои данные могут устареть
другой вопрос возник: а это точно надо делать? :joy:
вообще странно все возможные роуты обслуживать одним роутом

Anon
23.03.2017
14:55:42
а это не ко мне вопрос, "гет квери некрасивое, давайте делать раутами"
Но спасибо за помощь

Антон
23.03.2017
14:56:10
что за гет квери?

Anon
23.03.2017
14:56:47
вместо '/users/foo/4343' -> '/users?foo=4343'

Кøе-ктø Геннадьевич
23.03.2017
14:57:20
действительно некрасиво

Eugene
23.03.2017
14:57:38

Google

Eugene
23.03.2017
14:57:41
есть такая крутая штука

Anon
23.03.2017
14:57:52
внимательно слушаю

Eugene
23.03.2017
14:58:02
Щас найду

ojab
23.03.2017
14:59:12

Антон
23.03.2017
14:59:43

Eugene
23.03.2017
14:59:45
route globbing
http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments

Anon
23.03.2017
15:00:06
Ну, это окончание /foo/:code должно быть привязано почти ко всем страницам

Александр
23.03.2017
15:00:10

Anon
23.03.2017
15:00:19
каждый раут дублировать с ним как-то напряжно содержать

Антон
23.03.2017
15:00:19

Eugene
23.03.2017
15:00:31
а, я чертов слоупок

Anon
23.03.2017
15:00:31
вай?

Eugene
23.03.2017
15:00:34
тогда сорян
Но вообще подходит же вроде

Антон
23.03.2017
15:00:49
вай?
бикоз ты хочешь routes.rb перезасунуть в другое место
это глупо как минимум

Anon
23.03.2017
15:01:06
не понял, в смысле перезасунуть?

Александр
23.03.2017
15:01:07
лично я несколько раз в жизни изпользовал splat урлы, и все разы я ошибался, потом делал то же самое без них =)

Антон
23.03.2017
15:01:51
не понял, в смысле перезасунуть?
ну у тебя есть файл routes.rb
ты хочешь один роут, который будет отдельным классом, но крякать и пукать он будет как утка
и описывать ты все тоже самое будешь что и в routes.rb

Google

Александр
23.03.2017
15:01:54
так что лучше подробнее объяснить задачу на конкретном примере, для чего это нужно и думаю решение будет иное

Anon
23.03.2017
15:02:39
Этот механизм дублируется от контроллеру к контроллеру, из экшона в экшен достаточное количество раз чтобы захотелось переписать под общий вид
and here i am

Антон
23.03.2017
15:11:38
а как так получилось, и зачем было дублировать урлы?
"ваш флоу говно" (ц)
ненавижу программистов
вечно мудрят
нельзя сделать просто, по школьному, как в учебнике

Anon
23.03.2017
15:12:36
я не знаю, я вчера на заводе работал, сегодня программист, эта система была до меня

v
23.03.2017
15:12:36

Антон
23.03.2017
15:12:52
комсомольцы: придумать себе попоболь а потом героическо это преодалевать

ojab
23.03.2017
15:12:53
и будет у тебя опциональный параметр

Anon
23.03.2017
15:17:32
Это в принципе как вариант
но если их уже сотня, и на каждый надо не забыть вызвать метод в контроллере что с этим партнер-кодом можно сделать
и у каждого раута этот опциональный параметр стоит

Александр
23.03.2017
15:18:49
я на nginx обычно регулярками легаси урлы конвертирую в обычные

Anon
23.03.2017
15:19:44
Но признаться я забыл/не знал про опциональные параметры, спасибо ?

Кøе-ктø Геннадьевич
23.03.2017
15:25:51

Vasiliy
23.03.2017
18:05:20
чуваки а как в rvm создать обертку на твою команду, которая бы от версии руби не зависела?

ojab
23.03.2017
18:06:34
А зачем это делать в rvm? В shell для этого есть есть alias

Google

Vasiliy
23.03.2017
18:10:18
у меня в systemd скрипты пуму запускают как
ExecStart=/home/deploy/.rvm/bin/rvm 2.4.0@app_name do bundle exec puma -C /home/deploy/apps/app_name/shared/puma.rb --daemon
ExecStop=/home/deploy/.rvm/bin/rvm 2.4.0@app_name do bundle exec pumactl -S /home/deploy/apps/app_name/shared/tmp/pids/puma.state stop
немного не удобно что версия участвует

Смерть
24.03.2017
03:54:56
Сделай баш скрипт, который сначала получает версию рубей, а потом подставляет ее в команду

Amir
24.03.2017
07:47:56
какой гем больше всего подходит для навигационных меню
возможно с уровнем
или вывод как табы

Philipp
24.03.2017
07:50:47
конкретно дял меню - хз, но например act_as_tree позволяет делать обычное иерархическое меню или любую другую древовидную структуру.

ojab
24.03.2017
07:51:15
А зачем для этого гем?

Admin
ERROR: S client not available

Philipp
24.03.2017
07:51:28
что бы не писать лишние десять строк самому
=)

v
24.03.2017
07:52:49
там побольше чем 10 строк

Philipp
24.03.2017
07:53:24
ну это удобно если соответствует требованиям. велосипеды опять таки.
вот мне интересно нет ли хрени что позволяет с наименьшим гемором сделать меню, в котором модель относится сама к себе через много-ко-многим.
правда для вывода нужных элементов нужно делать много подзапросов, если реляционкой.
нереляционкой не пробовал, но должно быть ощутимо проще.

Dmitriy
24.03.2017
08:12:44
Господа, вопрос... необходимо добавить платежную систему на сайт. ничего необычного. Покупатели делают покупки. Сейчас будет один, но в дальнейшем добавятся еще несколько видов платежных систем. Как правильно архитектуру сразу сделать? Какие паттерны проектирования использовать, классы? Может кто может пример показать или рассказать.

I
24.03.2017
08:13:24
Stripe?
BrainTree?

Dmitriy
24.03.2017
08:15:22
нет, сейчас wayforpay(wayforpay.com), в будущем хотим яндекс прикрутить
меня больше интересует грамотная архитектура, чтобы в дальнейшем если добавятся новые виды платежей, чтобы не было каши.

Google

Антон
24.03.2017
09:05:15

Philipp
24.03.2017
09:07:00
ну там всё не так прозаично, как мне казалось изначально. Но я уже успел найти гем acts_as_many_tree, и еще один который судя по названию может полностью решать задачу (как раз с помощью json). но его еще не читал.

Антон
24.03.2017
09:07:27
сколько у тебя пунктов меню?

Philipp
24.03.2017
09:07:43
чот около 70-80

Антон
24.03.2017
09:07:52
час работы руками?

Philipp
24.03.2017
09:07:56
3 уровня категорий

Антон
24.03.2017
09:08:13
час и 15 минут работы руками?

Philipp
24.03.2017
09:08:24
ну смотря с каким опытом =)

Антон
24.03.2017
09:08:45
ненавижу программистов
они постоянно все усложняют
когда можно взять и за ~час сделать руками

Philipp
24.03.2017
09:09:12

Антон
24.03.2017
09:09:14
с гемом быстрее не получится * опыт * коэффициент опыта ^ гем делает немного не так как надо

Philipp
24.03.2017
09:12:48
а еще это всё делится на коэффициент твоего понимания как нужно решить задачу, умноженный на 10
и натыкаешься на подводный камень то через 5 минут вдруг обнаруживаешь что уже утро.

Антон
24.03.2017
09:15:03
cache do не забудь

Philipp
24.03.2017
09:15:03
точнее она была уже решена когда-то, на самом деле. но я на это отнюдь не час потратил
кэш да