@rubylang

Страница 1104 из 1684
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
я понял, я просто такого не делал до этого, конфиг хероку где находится, я это имею в виду
дык на сайте, там у приложения настройки. Или через их cli-приложение можно настраивать

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

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
фоново, async по-умолчанию с 5.1 ли около
а, ну тогда в треде отдельном

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

ojab
06.07.2017
14:51:34
сохраняет историю, как минимум

+ позволяет вынести воркеров на отдельный инстанс

Anton
06.07.2017
14:53:50
то есть в более ранних проектах инлайн дефолтово? А в чем профит сайдкика вместо асинка? Шустрее пашет?
1. у тебя юзается редис, а не тред в памяти. это значит, что ты можешь стопать сайдкик и он ничего не потеряет 2. сайдкик использует очень много людей и он выдерживает очень большие нагрузки. тред - вряд ли 3. уже сказали, что можно вынести в отдельный сервер твой сайдкик сервер 4. куча плагинов, можно вертеть крутить как хочешь все что хочешь 5. у сайдкика документация в разы лучше, чем у AJ async

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

No
06.07.2017
14:54:03
Зачем дублировать? Можно собирать webpacker'ом и подключать через stylesheet_pack_tag или собирать sprockets'ами и подключать через https://github.com/rails/webpacker#link-sprocket-assets
я правильно понимаю, ты имеешь ввиду все стили подключить через один stylesheet_pack_tag в лэйауте, а где юзать классы - во вьюхах или в js-е в компоненте - это уже не важно?

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

Di
06.07.2017
14:58:42
http://guides.rubyonrails.org/active_job_basics.html#available-callbacks
Правильно понимаю что коллбеки нужно описывать в самой джобе, тогда сработают? В коде запускающем джобу after_perform вызывать бессмысленно?

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>

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 да, допустим в хелпере

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