
ojab
06.07.2017
14:28:03
много сервисов уже есть https://github.com/rails/activestorage/blob/master/lib/active_storage/service/mirror_service.rb
джоба для удаления локальных файлов тоже есть https://github.com/rails/activestorage/blob/master/lib/active_storage/purge_job.rb

No
06.07.2017
14:34:17
Ребята, нужно ваше мнение. Пятые рельсы. Есть рельсовая админка которая рендерится на серваке. Есть компонента на vue.js, которая используется на одной из страниц. Нормально ли использовать стили из админки в компоненте vue.js? Ведь по идее хорошим стилем должно быть написание компоненты как независимого приложения, однако в таком случае нужно будет продублировать часть стилей в ней.

ojab
06.07.2017
14:37:42
Зачем дублировать? Можно собирать webpacker'ом и подключать через stylesheet_pack_tag или собирать sprockets'ами и подключать через https://github.com/rails/webpacker#link-sprocket-assets

v
06.07.2017
14:39:07

Google

Vitaliy
06.07.2017
14:39:17
нормально, у нас все стили в рельсе через спрокетсы, а фронт на реакте через вебпакер

v
06.07.2017
14:41:22
а то сделаешь DRY, все дела
а потом приходится не DRY делать

Di
06.07.2017
14:42:44
Народ, чет забыл. Если нет сайдкика или других гемов очередей, дефолтная рельсовая настройка, то джобы не фоново исполняются? А как последовательный код?

Anton
06.07.2017
14:43:18
а какая настройка дефолтная?
config.active_job.queue_adapter = :async
?
а то мне даже посмотреть не где
просто есть 2 адаптера, асинк, который будет в треде выполнять и инлайн
https://github.com/rails/rails/blob/master/activejob/lib/active_job/queue_adapters/async_adapter.rb
https://github.com/rails/rails/blob/master/activejob/lib/active_job/queue_adapters/inline_adapter.rb

ojab
06.07.2017
14:44:57
фоново, async по-умолчанию с 5.1 ли около

Google

Anton
06.07.2017
14:45:11

Di
06.07.2017
14:48:13
то есть в более ранних проектах инлайн дефолтово?
А в чем профит сайдкика вместо асинка? Шустрее пашет?

ojab
06.07.2017
14:51:34
сохраняет историю, как минимум
+ позволяет вынести воркеров на отдельный инстанс

Anton
06.07.2017
14:53:50

Di
06.07.2017
14:53:56
Спасиб. А вот как в актив джобе есть коллбек after perform? По идее если я джоб в фоновую работу в сайдкик отправляю, то он уже в отдельном потоке исполнения и в своем потоке я ни его состояние, ни момент его завершения узнать не могу?

No
06.07.2017
14:54:03

Anton
06.07.2017
14:54:34

ojab
06.07.2017
14:54:54

Di
06.07.2017
14:55:04
А как мне узнать джоб айди?

ojab
06.07.2017
14:55:42

Di
06.07.2017
14:58:42

ojab
06.07.2017
14:59:37
ага

Nikita
06.07.2017
15:05:02
ребят, а можно как-то для энама в качестве ключа строку использовать?

ojab
06.07.2017
15:07:24
enum whatever: %w[string_one string_two]

Nikita
06.07.2017
15:08:30
не, мне нужно типа
'String 1' => 1
'String 2' => 2
то есть типа
Foo - id 1, Fooo - id 2

Google

Nikita
06.07.2017
15:12:54
и чтобы в конце я получал именно интовое значение

ojab
06.07.2017
15:13:03
в конце?
enum'ы хранятся в int в базе

Fedor
06.07.2017
15:14:00
enum сделан для того, чтобы можно было сделать status.active, а в базе было 1
если ты хочешь иметь и там и там 1, то что мешает просто хранить int в базе и получать к нему доступ

Nikita
06.07.2017
15:36:37
'4' is not a valid estimated_move_weight
хотя в параметрах:
"estimated_move_weight"=>"4",
:estimated_move_weight => :integer
в базе тоже инт
что за чертовщина?

Sergey
06.07.2017
15:37:31
А в валидации?

Nikita
06.07.2017
15:37:40
специально ее для теста убрал

Fedor
06.07.2017
15:37:53
"4" - это не int

Fedor
06.07.2017
15:37:58
это стркоа

Sergey
06.07.2017
15:38:22
Так это енум похоже

Nikita
06.07.2017
15:38:28
я осознаю это
но все параметры идут строкой
и дальше уже конвертируются
вот я и спрашиваю, что не так?

ojab
06.07.2017
15:40:17
что ты хочешь в итоге от enum получить и чем это отличается от validates :attr, inclusion: { in: (1..5) }?

Nikita
06.07.2017
15:40:57
enum estimated_move_weight: {
'Few Boxes' => 1, 'Studio' => 2, '1 Bedroom (Small)' => 3, '1 Bedroom (Large)' => 4,
'2 Bedrooms (Small)' => 5, '2 Bedrooms (Large)' => 6, '3 Bedrooms (Small)' => 7,
'3 Bedrooms (Large)' => 8, '4 Bedrooms (Small)' => 9, '4 Bedrooms (Large)' => 10,
'Over 4+ Bedrooms' => 11
}

Google

ojab
06.07.2017
15:41:18
это не отвечает на мой вопрос

Nikita
06.07.2017
15:41:31
я хочу получить интовое число в зависимости от выбранного текста

ojab
06.07.2017
15:43:09
wtf выбранный текст? Если ты хочешь напрямую из select'а данные сохранять — во-первых у select'a есть не только текст, но и value, во-вторых это плохая идея
выбранное число ты можешь получить где угодно храня этот самый хеш

Nikita
06.07.2017
15:44:02
<%= f.select :estimated_move_weight, Job.estimated_move_weights.map { |k, v| [k, v] },
{ include_blank: 'What is your moves weight?' }, required: true, class: 'input-lg form-control' %>
вот так в селекте пишу
в селекте есть текст (выше), у каждого текста есть определенный ID, который мне нужно передать, используя API

Fedor
06.07.2017
15:45:39
а почему не отдавать из селекта число?

Nikita
06.07.2017
15:45:59
юзер должен выбрать число?

ojab
06.07.2017
15:46:27
ты не куски кода пость и говори что нужно получить, а словами расскажи что у тебя происходит и что ты хочешь

Admin
ERROR: S client not available

Nikita
06.07.2017
15:46:30
юзер выбирает текст, каждому тексту принадлежит ID, я храню все это дело в энаме
окей, нужен селект, в котором будет текст, каждому тексту будет соответствовать ID, это задача

ojab
06.07.2017
15:47:25
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

Fedor
06.07.2017
15:47:32
<option value="Чебурашка">Чебурашка</option>
меняем на <option value="2">Чебурашка</option>

ojab
06.07.2017
15:48:20

Nikita
06.07.2017
15:52:55
@FedorKoshel у меня сейчас так и выглядит...
с тем кодом, который я дал
ошибка идет именно при запросе в контроллер:
ArgumentError in JobsController#create
'3' is not a valid estimated_move_weight

Google

ojab
06.07.2017
15:57:25
зачем тебе enum, ты так и не рассказал

Nikita
06.07.2017
15:57:55
ojab тогда подскажи пожалуйста, где и как правильно хранить эти данные

ojab
06.07.2017
15:59:00
в табличке estimated_move_weights, например

Nikita
06.07.2017
15:59:08
а ее где?

ojab
06.07.2017
15:59:26
в базе данных, очевидно

Nikita
06.07.2017
15:59:39
но не нужно, чтобы это хранилось в бд...

Vasiliy
06.07.2017
15:59:53
Эу
Enum принимает только текст в параметрах

ojab
06.07.2017
16:00:17
а где нужно чтобы это хранилось?

Vasiliy
06.07.2017
16:00:22
И вообще хуевая вещь

v
06.07.2017
16:00:39

Vasiliy
06.07.2017
16:01:12
Если хочешь енум в коде, строки на форме и числа в бд то делай хелпер который дёргает переводы из i18n
Если ты задаешь его массивом то все считай пизда, в бд будет хранится порядок, хуй чё выкинешь, надо переделывать в хэш и старые значения хранить

Nikita
06.07.2017
16:04:01
начали за здравие, закончили за упокой
мне нужно где-то хранить эти 10 значений(не в бд)
и дергать число в зависимости от текста

v
06.07.2017
16:04:31
в текстовый файлик пихай

Nikita
06.07.2017
16:04:34
В файлике csv?)

v
06.07.2017
16:04:41
дешевоЖЮ практично

ojab
06.07.2017
16:04:43

Nikita
06.07.2017
16:04:54
ojab да, допустим в хелпере