@proRuby

Страница 675 из 1594
Alex
24.08.2017
09:45:35
Всем привет. В чем минусы STI?
у меня в проекте кто то умудрился создать дочернюю модель на основе родительской, соответственно не вызывались хуки/валидации дочерней модели.

типа Event.new(type: 'Event::Email')

а вообще там есть несколько минусов только я не помню уже.

Roman
24.08.2017
09:47:27
А, например, изначально для юзеров делалась STI, но в итоге для каждой модели нужны куча разных полей, которые балластом тянуться с другой, стоит ли в таком случае выпилить STI, пока есть возможность?

Google
Alex
24.08.2017
09:47:43
если количество полей сильно разное то наверное стоит.

Тут можно только здравый смысл использовать.

А если несколько полей разные то наверное STI удобно.

Roman
24.08.2017
09:49:16
хорошо, спасибо)

Alexander
24.08.2017
09:49:57
может ли сайдкик работать в нескольких параллельных процессов(как юникорн/пассажир)? что то не нашел это в доках

Fedor
24.08.2017
09:50:34
он этим и отличается

https://gurudathbn.wordpress.com/2015/05/19/sidekiq-vs-delayed-job-comparison/

Vasiliy
24.08.2017
09:51:15
https://github.com/mperham/sidekiq/wiki/Advanced-Options#concurrency

Alexander
24.08.2017
09:51:23
как я понимаю у него одни процесс и внутри него несколько потоков(25 по умолчанию) а я хочу сделать например 4 процесса по 25 потоков в каждом

Fedor
24.08.2017
09:52:01
Так просто напиши несколько демонов, которые буду в параллель работать и все

я так dj запускаю, когда подтормаживать начинает

Alexander
24.08.2017
09:52:34
Fedor
24.08.2017
09:53:08
скрипт на руби, который запускается как демон

Google
Fedor
24.08.2017
09:53:21
с модулему demonize, или через god

отдельный процесс - это по сути отдельное приложение, вот и надо его запускать отдельно

ну или форкать из самой рельсы

Roman
24.08.2017
09:54:02
если количество полей сильно разное то наверное стоит.
особенно если это ассоциации. в таком случае приходится ассоциации прописывать на родительской модели

Fedor
24.08.2017
09:54:07
но отдельно ИМХО проще

Ivan
24.08.2017
10:45:33
Возвращаясь к > cat <file> чтоб пахало через ран конфу. где <file> - открытый файл в РМ. Это конечно хорошо, но как это юзать теперь, если это оно вообще? https://github.com/joewalnes/idea-community/blob/master/platform/platform-impl/src/com/intellij/application/options/PathMacrosImpl.java#L81

Я уж и $FilePath и $FilePath$ и ${FilePath} и ${FilePath}$ пробовал, - нихт

И еще вопросик :) Кто может объяснить что здесь происходит вообще? :) [14] pry(main)> h = Hash.new([]) => {} [15] pry(main)> h[:a].push(1) => [1] [16] pry(main)> h => {} # whaat?

ojab
24.08.2017
10:51:35
$FilePathRelativeToProjectRoot$, очевидно

Ivan
24.08.2017
10:52:27
ему плевать, он его так и передает, не интерпретируя

bin/rubocop -D -R $FilePathRelativeToProjectRoot$

Ivan
24.08.2017
10:53:30
ну мне и надо в арей пушнуть значение

на выходе должно быть {a: [1]}

ojab
24.08.2017
10:54:06
ну ты и пушнул

Ivan
24.08.2017
10:54:28
ну и хренли хеш пустой? :)

Alex
24.08.2017
10:54:49
h[:a] += [1]

ojab
24.08.2017
10:54:50
тебя интересует инициализация с block'ом

Fedor
24.08.2017
10:55:08
h[:a] - возвращает значение

ojab
24.08.2017
10:55:11
дефолтное значение всегда одно и доступно через h.default или несуществующий ключ

Google
Fedor
24.08.2017
10:55:18
h[:a] = - присваивает значение

ты пушнул возвращаемое значение того, чего нет

по сути в нил

Alex
24.08.2017
10:55:52
нет, не в нил

а в default

Fedor
24.08.2017
10:56:07
ну да, в дефолт

Alex
24.08.2017
10:56:09
это что-то

Fedor
24.08.2017
10:56:14
но поскольку он никуда не присвоен )

я имею в виду, что в хэше ничего нового не появилось

Oleg
24.08.2017
10:56:38
Присвоения нет - редирект на дефолт, а дефолту отправляется пуш

Ivan
24.08.2017
10:57:08
по идее должно быть. ключа нет - на лету создаем арей и отдаем колеру, колер пушит, забираем арей назначаем ключу

логично?

Oleg
24.08.2017
10:57:36
Самый странный результат будет если сделать так: h[:a] = h[:a]

?

Дело в том что чтобы создать пару ключ-значение нужно вызвать =

Ivan
24.08.2017
10:58:24
вариант h[:a] += [1] я пробовал, конечно, просто он мне не понравился

Oleg
24.08.2017
10:58:24
Иначе будет редирект на дефолт

Ivan
24.08.2017
10:58:55
Ну суть ясна, значит я еще не совсем плох , спасибо :)

Oleg
24.08.2017
10:59:01
h[:a] - ничего нет, отдать h.default .push - уже идет на него

Alex
24.08.2017
10:59:09
>на лету создаем арей а он не создает - а подставлет деволтный - который ты можешь мутировать для всего хэша, что ты и делаешь пушем то что тебе нужно делается вот так h[:a] += [1] что раскрывается примерно в слудующее h[:a] = default + [1]

Google
Oleg
24.08.2017
10:59:11
?

ojab
24.08.2017
11:01:46
Hash.new { |h, k| h[k] = [] } оно делается

Vlad
24.08.2017
11:02:18
Ребят юзаю paperclip в своём проекте и когда эдитаю юзера то в поле картинки приходит почему то путь к ней но до него в конец добивается какой-то мусор, например путь к картинке "system/user/1/mypicture.jpg" а в поле висит "system/user/1/mypicture.jpg?5171515" Из-за чего это может быть?

Ivan
24.08.2017
11:03:42
не юзай paperclip :) на самом деле я сто лет назад его юзал, и пеерхал на CW а затем и на 3 строчки кода которыми все это барахло можно заменить

Vlad
24.08.2017
11:04:25
Это сделали на проекте до меня

Выпиливать нет времени

Ivan
24.08.2017
11:04:39
это понятно, у всех так :)

Михаил
24.08.2017
11:04:59
у imagemagick же очень хорошее api для ruby

и carriesrwave в т.ч. не может в mongodb

я не смог их подружить((

Admin
ERROR: S client not available

Ivan
24.08.2017
11:05:58
ojab ага, я так и сделал, спасибо за наводку про блок ранее :)

ojab
24.08.2017
11:06:10
у imagemagick же очень хорошее api для ruby
да, командная строка — отличное api для ruby

Vlad
24.08.2017
11:19:47
я если изменяю юзера и не прикрепляю к нему новую картинку то получаю еррор No handler found for "/system/users/avatars/000/000/001/original/jQuery-Plugin-For-Fullscreen-Image-Viewer-Chroma-Gallery.jpg?1503573348"

Ivan
24.08.2017
11:19:55
а что собственно эти гемы делают, помимо засирания моделей?

Vasiliy
24.08.2017
11:20:52
это мне? я имел ввиду - можешь кинуть код которым заменил?

Ivan
24.08.2017
11:21:06
получил файл, сложил куда надо, записал в базу его uuid если надо. Все, пути генеришь на основе uuid

все зависит от задачи, код тут не поможет

Google
Ivan
24.08.2017
11:22:21
Vasiliy piece of cake короче, и не надо никаких гемов

Roman
24.08.2017
11:22:33
поищи где вывод в темплейт

Vlad
24.08.2017
11:23:20
Там обычная форма в которой f.file_field :avatar

И есть ещё хидден Филд тоже :avatar

Fedor
24.08.2017
11:26:56
Vasiliy piece of cake короче, и не надо никаких гемов
Там много фишек, с обработкой картинок перед сохранением, созданием версий, и путей к версиям, заливка на амазоны, загрузка по ссылке и.т.д.

Alex
24.08.2017
11:28:48
получил файл, сложил куда надо, записал в базу его uuid если надо. Все, пути генеришь на основе uuid
написал систему авторизации, MVC модель, адаптер для работы с базой, ORM

раз плюнуть.

Dm
24.08.2017
11:33:16
+ 1. зачем изобретать велосипед, если все уже грамотно сделано?

Anton
24.08.2017
11:34:19
к сожалению, если оно популярно и сделано, это не значит, что сделано грамотно. как пример, посмотри на девайс. я не думаю, что тут найдется человек, который НИКОГДА не отлавливал от девайса какие-то проблемы

Dm
24.08.2017
11:34:36
про девайс согласен

Fedor
24.08.2017
11:34:48
я не отлавливал никогда

правда и не пользовался никогда )

Alex
24.08.2017
11:35:00
а ты человек?

Dm
24.08.2017
11:35:29
девайс это худший пример популярного гема)

Roman
24.08.2017
11:35:43
я тоже никогда не пользовался. постоянно какая-то нестандартная система авторизации

Anton
24.08.2017
11:35:59
про девайс согласен
ну собственно в этом проблема многих гемов, что вроде популярны, но проблем добавляют больше, чем решают. и как мне кажется, с паперклипом тоже самое

Roman
24.08.2017
11:37:02
я тоже никогда не пользовался. постоянно какая-то нестандартная система авторизации
типа давайте будем хранить сессию в Сишном сервере, сериализованную ПХПшным serialize

Vlad
24.08.2017
11:38:00
сейчас траблс виз девайс решаю сижу))

Dm
24.08.2017
11:40:14
у меня не было каких-то особых проблем с paperclip и писать самому код для валидации входящих файлов и ресайза не вижу смысла. плюс нужно учитывать security issues.

если бы это было немного кода и не такая потенциальная дыра в безопасности, то можно было бы и самому запилить, думаю

Vasiliy
24.08.2017
11:50:20
а есть где статейка какая толковая как авторизацию запилить без девайса?

Страница 675 из 1594