@rubylang

Страница 1461 из 1684
Pavel
15.04.2018
11:01:21
# controllers/some_controller.rb class SomeController def some_action render 'awesome.js.erb' end end # views/some/awesome.js.erb $('.mister_insert_here_please').html(<%= j render('oh_partial') %>)

Если ты про Рельсы

Но лучше конечно просто json слать/принимать, а рендер поручить фронту, реакту, агунляру или что там у тебя

Google
Evgenii
15.04.2018
12:08:21
Коллеги, добрый день. Вопрос такой - мне необходимо организовать роутинг вида site.com/razdel1/razdel2/.../.../.../page razdel2 является дочерним относительно razdel1 и вот такой вложенности можеть быть вариативное количество. Одноуровневое вложение у меня реализовано через get "/:cat/:short" => "posts#show", defaults: {mode:1}, :as => "short", :constraints => PostConstraint.new Есть ли возможность организовать некий констреинт который будет принимать в аргумент вариативное количество :cat? и как собственно должен выглядить такой роутинг get "(/:cat1/:cat2/:cat3/):short" как-то так? Наведите пожалуйста на путь истинный Спасибо большое.

Evgenii
15.04.2018
12:39:43
Ну как обычно, задал вопрос и нашел частичное решение. Wildcard. Get "*cat/page" в мануале стандартном написано, как ни странно

И в пути может быть хоть сотня этих подвложений в пути. А уж как их там парсить и чекать дело уже третье.

Shamil
15.04.2018
13:30:56
Да, если подумать все верно. Это же просто функция принимающая параметры.)

mike
15.04.2018
14:39:14
да в рубях, по сути, практически всё и есть метод и параметры

Антон
16.04.2018
05:20:38
только вот пользователи такими урлами редко пользуются им просто ссылку надо, а из каких категорий состоит этот урл всем по большому счету наплевать

Silent Bob
16.04.2018
08:42:04
Подскажите плиз: Есть модель Storage. Имеет атрибут storage_type (скажем к примеру yandex_disk, dropbox, s3). В зависимости от типа, должны быть разные настройки (атрибут settings) для доступа к этому хранилищу (логин, пароль, апи кей и т.д.) Вариант с STI сразу отпал, т.к. у каждого типа стораджа совершенно разные настройки. Я больше всего склоняюсь к serialize (хранить настройки в виде хеша), но непонятно как тут настраивать валидации для этого хеша, + как это реализовать с помощью form_for (т.е. по идее форма должна быть аяксовая, когда юзер выбирает тип, подгружаются соответствующие поля этого типа). Может есть тру решение в этом случае?

Антон
16.04.2018
08:46:08
тру решение сначала должно быть выполнено максимально просто и работать

а потом уже смотреть, тру оно или не тру

Silent Bob
16.04.2018
08:46:36
ну ок, как тут максимально просто сделать?

Антон
16.04.2018
08:46:48
для каждого стораджа своя форма

сеттинги сериализовывать, наверное, да я бы так попробовал сначала - так проще всего

Google
Антон
16.04.2018
08:48:17
особенно в условиях когда поиск по ним не нужен

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

и прочитать сможет любой джуниор

Silent Bob
16.04.2018
08:50:39
а как понимать, какую форму рендерить, для какого типа? У меня идея есть что на роуте /storages#index кнопка добавить новый сторадж, сделать ее в виде разворачивающегося списка что ли, т.е. жмем добавить, появляется список где уже можно выбрать конкретный тип сторажда. Когда тип выбирается (к примеру яндекс диск), посылается запрос на контроллер storages/new&type=yandex_disk таким образом сразу знаем какую конкретную форму рендерить

Антон
16.04.2018
08:52:29
хорошая идея Антон Давыдов не согласится, но его можно позвать когда нужно будет рефактори, если нужно будет

Silent Bob
16.04.2018
08:53:14
понял, спасибо

Anton
16.04.2018
08:54:01
Только я бы настройки такие в жсон хранил

Andrey
16.04.2018
09:30:27
Всем привет! Подскажите пожалуйста, как правильно сделать. Есть на сайте форма регистрации через соц сети, но если юзер уже в базе — он просто авторизоовывается. Нужно под это дело настроить цели яндекс метрики, тоесть под одну форму, под одну кнопку — разные действия. Есть идея сделать ее флеш сообщениями, но может есть другой выход?

Антон
16.04.2018
09:33:24
Только я бы настройки такие в жсон хранил
это опасно, когда джуны видят json в субд, то начинают туда все пихать потом им становится плохо, потом они начинают пить и болеть с похмелья каждое утро ну и дальше по кругу

Антон
16.04.2018
09:36:07
да, но все умные дяди уже расползлись по вкусным проектам с креслами с подогревом, и гарантировать адекватный ревью трудно

мне щас достался проект в "овер 9000" строк кода в котором нет тестов вообще и таких проектов по моему опыту далеко не меньшинство

Pavel
16.04.2018
09:39:25
Для таких случаев, умные дяди, придумали код ревью
Часто проекты начинаются с одного человека, а потом вырастают.

Антон
16.04.2018
09:39:40
ну или такая ситуация много раз была: -- А давайте ревьюить! -- А давайте и только успеваешь нотификации заркывать: merged, merged, merged

а там в дифах - binding.pry

Смерть
16.04.2018
09:40:40
Часто проекты начинаются с одного человека, а потом вырастают.
С одного фрилансера, который не может выбить бюджет на тесты

Антон
16.04.2018
09:40:57
и комит мессадж "fucked pry"

чота накипело похоже :)

Dmitry
16.04.2018
09:41:44
Так у меня тг заблочили ироды

Google
Dm
16.04.2018
09:42:01
хехе )

Pavel
16.04.2018
09:42:18
С одного фрилансера, который не может выбить бюджет на тесты
Я писал первый проект еще бесплатно, в 2011, кодить почти не умел, но очень хорошо знал доменную область. А этот костыльный проект живет, развивается и испольуется в 7 компаниях со штатом по 300 человек. Но внутрь лучше не залазаить, зато клиентам нравится

Антон
16.04.2018
09:43:14
суккес сториз не учат ни чему ?

Pavel
16.04.2018
09:43:39
Точняк)

Igor
16.04.2018
09:57:21
А есть best practic когда для АПИ метода в Get параметре надо передать очень много фильтров (например сотня идентификаторов)? Менять get на post\put и делать другой endpoint?

Dmitry
16.04.2018
10:00:02
подскажите в 4 рельсе пытаюсь метод модели изменить из плагина ( все это в redmine поисходит) написал https://paste2.org/4s8vd7mO но магии не произошло

Alexander
16.04.2018
10:06:19
и комит мессадж "fucked pry"
а я сделал себе git pre commit hook, не дает закомитить если в .rb файлах есть binding.pry

Антон
16.04.2018
10:15:48
щас ещё есть byebug- обнови hook

Alexander
16.04.2018
10:20:29
в любом git репозитории локально есть директория .git/hooks/ с примерами

конкретно мой хук #!/bin/sh if grep -R --include="*.rb" "binding.pry\|nocommit" --quiet . then cat <<\EOF Error: You have a debugger (binding.pry) or "nocommit" in your source code. Please remove it before commit. EOF exit 1 fi нужно еще правильные права ему дать chmod a+x .git/hooks/pre-commit

ojab
16.04.2018
10:26:21
а лучше заюзать rubocop --only Lint/Debugger

pny
16.04.2018
10:30:59
а лучше заюзать rubocop --only Lint/Debugger
и ставить на тачку руби и рубокоп? :(

ojab
16.04.2018
10:33:53
или руби и рубокоп, или неполноценная проверка, да

Vasiliy
16.04.2018
11:01:09
ребят а как параметры в urlencoded передать чтобы они были как массив в джейсоне

т.е. в жс у меня как-то так идут "persons": [{"name":1}, {"name":2}] в урленкоде пробую так сделать persons[][name]:1&persons[][name]:2 но как вы поняли второе присваивание затирает

ojab
16.04.2018
11:20:36
[1] pry(main)> URI.decode({ "persons": [{"name":1}, {"name":2}] }.to_query) => "persons[][name]=1&persons[][name]=2" не?

ojab
16.04.2018
11:22:42
а, жс ._.

Vasiliy
16.04.2018
11:23:49
с одинаковыми именами норм, но там вложенная структура "persons"=>[{"name"=>"test4"}, {"name"=>"test5"}] так то норм, но если ещё добавить атрибут то как-то так рельса раздупляет "persons"=> [{"name"=>"test4"}, {"name"=>"test5", "status"=>"disabled"}, {"status"=>"disabled"}],

Google
Vasiliy
16.04.2018
11:24:25
с жсом то я знаю как сделать ? рельса его норм жрет, просто хотелось бы сделать одинаковое поведение для жсона и форм энкодед

Admin
ERROR: S client not available

hotline
16.04.2018
12:37:39
Привет! а кто-то использовал redis? как правильно чекнуть конекшн с сервером?

Aleksey
16.04.2018
12:40:34
не знаю насколько “правильно”, но мы юзаем redis_client.info

hotline
16.04.2018
12:41:42
спасибо

а перед redis.connected? нужно проинициализировать в redis – Redis.new ?

правильно?

ojab
16.04.2018
12:44:01
redis = Redis.new

hotline
16.04.2018
12:44:20
ага спасибо!

отдает false

ojab
16.04.2018
12:46:36
а, тебе проверить устанавливается ли вообще соединение? Тогда redis.ping.

Sergei
16.04.2018
12:54:06
какой гем проще всего прикрутить для бота телеграм для socks5 vs auth пока что юзал net-https попытался прикрутить к нему gem 'socksify' но он не поддерживает auth получается надо ещё развернуть данте client - socksyfy на сервере, чтобы был локальный сокс сервер без ауторизации... но чёто сожно получается как-то

ojab
16.04.2018
12:54:59
можешь заюзать socksify из https://github.com/astro/socksify-ruby/pull/24

или заюзать что-нибудь использующее curl (например https://github.com/typhoeus/ethon), оно всё умеет

Silent Bob
16.04.2018
15:52:00
для каждого стораджа своя форма
Я вот момент про валидации забыл уточнить. serialize можно как то валидировать? Оснобенно если хеш options может быть разный, в зависимости от типа модели

гуглил по этому поводу, но так ничего толкового и не нагуглил

s
16.04.2018
16:01:16
reform, dry-valiadations

Александр
16.04.2018
16:03:38
Всем привет, кто работал с ActiveModel::Serializer? Как сделать что бы аттрибут появлялся по условию? include_attribute? не работает

Google
Антон
16.04.2018
16:06:02
можно конечно кастомную валидацию нарисовать но это rails way, это ну такое

не ожидал что такое когда-либо скажу

ⰿⰰⰾⱏ
16.04.2018
16:22:25
Александр
16.04.2018
16:25:13
Может унаследовать новый и в нем прописывать что-то новое ?)
какой классный ник. Я вот так сделал attribute :statistic, if: :include_statistic?

pny
16.04.2018
16:56:51
module IncludesSerializer def includes_attributes(*attributes) attributes.each do |name| self.attribute name, if: -> { instance_options;(instance_options[:includes] || []).include?(name.to_s) } end end end

и extend IncludesSerializer в необходимом сериалайзере

и includes_attributes :id, :name например

И вызывать сериалайзер передавая туда includes: ['id', 'name']

vizvamitra
16.04.2018
17:59:57
Ребят, не знаете, что-нибудь из рубишной инфраструктуры хостится на гугле или амазоне?

А хотя вряд ли

Rustam
16.04.2018
18:01:50
поидее хостится

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