
Michael
30.09.2018
22:36:57
Вот так
Вообще сверху тебе ненужен i = 0 если делаешь each_with_index
Сам тюплю, ночь на дворе .]

silva
30.09.2018
22:38:05
Спасибо большое )

Google

Michael
30.09.2018
22:38:10
Хотяяя погоди
У тебя итерация так с 0 начнется

silva
30.09.2018
22:38:35
так для этого я и добавлял +1
index = results.each_index{|x|puts x+1} - оно работает, но не передается в блок , который ниже )

Michael
30.09.2018
22:40:37
И не должно
each_index работает локально для вызваной итерации
results.map.with_index { |score, i| puts "#Game: #{i += 1} / Score:#{score}"}.join
Во!
.]
results.map.with_index { |score, i| puts "Game: #{i += 1} / Score:#{score}"}.join
точнее

silva
30.09.2018
22:43:55
Всё,дошло!
Спасибо огромное)

Google

Michael
30.09.2018
22:44:40
Да на здоровье .]
И вооще, у тебя там видимо задания по ruby просто, без рельс и всякого
Так что ты можешь использовать просто
results.each_with_index { |score, i| puts "Game: #{i += 1} / Score:#{score}"}

silva
30.09.2018
22:49:31
Да, именно )
Ну, по заданию, надо было создать дополнительную переменую, которая будет вести подсчёт
точнее, это была, как подсказка

Michael
30.09.2018
22:51:17
Тогда
i = 0
results.each { |score| puts "Game: #{i += 1} / Score:#{score}"}
i и будет этой переменной без использования each_with_index

silva
30.09.2018
22:53:21
теперь всё так просто оказалось :D

Michael
30.09.2018
22:53:59
Зачастую, если ты делаешь что-то очень сложно, наверняка ты делаешь что-то не так
Ко многим языкам применимо .)

silva
30.09.2018
22:54:50
Учту)
Доброй ночи, я побежал)

Michael
30.09.2018
22:55:50
?
И тебе

Amir
01.10.2018
05:36:44
Ребята может быть есть такое
Вобщем хочу в коносли писать скрипты
не только запускать User.all и т.п.
а писать процедуры и т.п.
большие сложные циклы
и хочу это делать из консоли

Fedor
01.10.2018
05:39:39
Делай
Разрешаю

Google

Amir
01.10.2018
05:40:31
ну блин не удобно капец
мне надо это еще на продакшне писать, чтобы обработать таблицы
а создавать раки не охота
ну вот например даже в Битрихе есть в админке, пишешь там ПХП скрипт и запускаешь
а тут на Руби Рельцах нельзя чтоли

Michael
01.10.2018
05:42:26
Такое ощущение, что где-то ты не туда повернул, раз тебе на продакшене такое понадобилось.

Fedor
01.10.2018
05:42:53
Ну что поделать, это консоль, она не для того предназначена
Гвозди отвёрткой тоже не очень закручивать

Amir
01.10.2018
05:44:40
нет, я гвоздям уже приделал резьбу

Michael
01.10.2018
05:46:13
Ну и как ты свои резьбу тестами покрывать собираешься?

Amir
01.10.2018
05:46:56

Michael
01.10.2018
05:47:33
Тогде тебе не нужны рельсы

Amir
01.10.2018
05:47:41

Michael
01.10.2018
05:47:51
Просто ruby + bash

Amir
01.10.2018
05:48:04
я не смог осилить смысл сиего феншуй

Michael
01.10.2018
05:50:30
Раз ты говоришь о прикладных задачах
Зачем нужны рельсы?

Amir
01.10.2018
05:51:29
Например скажем надо обработать следующую задачу
всем пользователям в прфоиле добавить некое поле галочки, установить галочку надо по определенной логике, не всем
потом у тех у кого это галочка скажем для пример надо создать рассылку, или запретить входить или, добавить из системы учета данные синхронизацией (1С)
как ты это сделаешь?

Google

Amir
01.10.2018
05:52:26
будешь целый час сидеть в девелопе, писать раки
потом деплоить , потом запустить, потом заметить ошибку, или что-то забыл, еще 1 час сидишь правишь деплоишь
так чтоли
мне кажется было бы очень удобно в коносил 1 раз написать скпитп и все

Michael
01.10.2018
05:55:43
Ну на стороне рельсов должны быть просто job’ы, которые ты запускаешь из отдельного интерфейса, dashboard
Как это прокидывать из 1С без понятия, я с ней не работал отродясь

Amir
01.10.2018
05:56:17
ну если эти джобы временные, только 1 раз запущу и все, надо их удалить, чтобы глаза не мозолили

Michael
01.10.2018
05:56:34
.]

Amir
01.10.2018
05:56:40
не суть
веб сервисы, odata или на худой конец прямой SQL к 1С базе

Admin
ERROR: S client not available

Michael
01.10.2018
05:58:33
Тебе явно нужно подтянуть матчасть. В обратном случае, все что ты делаешь будет велосипедом на костылях.
По крайней мере со стороны rails и ruby

Amir
01.10.2018
05:59:06
ты мне скажи как ты решил бы

Michael
01.10.2018
05:59:42
Выше написал
https://guides.rubyonrails.org/v4.2/active_job_basics.html

Amir
01.10.2018
06:32:05
Active Job is a framework for declaring jobs and making them run on a variety of queueing backends. These jobs can be everything from regularly scheduled clean-ups, to billing charges, to mailings. Anything that can be chopped up into small units of work and run in parallel, really.
уверен что подходит?

Michael
01.10.2018
06:34:56
Чувак, ты собрался это делать через консоль на продакшене.
Вот дальнейшие диспуты вообще без смысла.

Rafkat
01.10.2018
06:35:21

Google

Fedor
01.10.2018
06:35:24
А потом можно зайти и сделать
User.where(flag: true).send_message
И все удобно

Michael
01.10.2018
06:41:31

Michael
01.10.2018
06:57:15
Доброе утро подскажите пожалуйста, что делаю не так
есть объекты в таблице у которых есть поле
shcs :string is an Array
делаю выборку
Object -> id: 1, shcs: ['ASC', 'PER']
Object -> id: 2, shcs: ['GCR']
Object -> id: 3, shcs: nil
Object.where.not('shcs <@ ARRAY[?]::varchar[]', %w(ASC SPA))
на выходе получаю колекцию без id: 1 и еще без id: 3
а ожидаю получать выборку только без id: 1
то есть скоуп почему-то исключает еще и
объекты у которых shcs: nil

Fedor
01.10.2018
07:14:27
любое сравнение с nil в sql дает false
за исключением IS NULL

Michael
01.10.2018
07:21:57
сделал так
where.not('shcs IS NOT NULL AND shcs <@ ARRAY[?]::varchar[]', %w(ASC SPA))

Darth
01.10.2018
07:31:00

Michael
01.10.2018
07:34:41
если конечно отдаешь себе отчет, в том что Если очень хочется, но нельзя, то можно )))

Michael
01.10.2018
07:35:46

Michael
01.10.2018
07:37:24
у меня постоянно возникает потребность, зайти через консоль прямо на продакшен базе и что-то поправить))
к примеру неродивый юзер, что-то там наделал и нужно моного времени, что бы из UI пройтись по всем записяи и что-то поменять))
заходишь себе в консольку делаешь выборку и опля)))

Michael
01.10.2018
07:37:55
Не сама лучшая практика, но речь не о том было
Он хотел добавить поле в таблице, после по определенной логике залить туда данные

Michael
01.10.2018
07:38:44
ну я так понял он в UI зочет себе сделать какой-то интерфейс, где он будет делать какие-то запросы

Michael
01.10.2018
07:39:02
И еще рассылку на это после повесить
у него как минимум разойдутся миграции в dev и prod
помимо всего прочего

Michael
01.10.2018
07:39:44
ого, а как он себе это представляет то

Michael
01.10.2018
07:39:56
Так о том и речь .]