@rubylang

Страница 1601 из 1684
Anton
31.08.2018
00:00:32
Но в бэкграунде этого не будет

Тут стоит создать очередь для таких важных задаст и копать в это

Богдан
31.08.2018
08:03:43
господа, а как через rails new создать приложение с нужной версией рельсы?

Google
Vitaliy
31.08.2018
08:06:20
господа, а как через rails new создать приложение с нужной версией рельсы?
Может быть создать приложение и в gemfile изменить версию, пропустив через bundle ? Но чтобы работать с этой версией, нужно ее скачать

Богдан
31.08.2018
08:06:58
Aleksey
31.08.2018
08:07:28
создать новый гемсет (или через Gemfile), туда поставить нужную версию рельс, и оттуда уже сделать rails new

самому интересно есть ли более адекватное решение )

Vitaliy
31.08.2018
08:08:15
ну там же я так понимаю от версии к версии еще какие-то конфиги разрные?
Другой вариант, это системно изменить по дефолту, версию рельс и запустить rails new name

Maksim
31.08.2018
08:08:53
https://stackoverflow.com/a/452458 / нет?

Богдан
31.08.2018
08:09:54
сенкс, сейчас попробую

может кто-то подскажет, а то я вообще уже запарился с этой новой рельсой?

https://toster.ru/q/558984?utm_source=email_notifications&utm_medium=email&utm_content=comment_q&utm_campaign=notifications#clarification_596002

Igor
31.08.2018
08:13:35
А без докера то работает? Может не в докере беда

Богдан
31.08.2018
08:16:06
А без докера то работает? Может не в докере беда
без докера даже не запускаю, много гемора под Windows. И понятно что проблема не в докере, на моем проекте 5.2.0 все работает как надо

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

у меня было пожозрение на spring, у уже его и удалял и устанавливал, пересоздавал проект, но так и не заработало горячее изминение

Google
Богдан
31.08.2018
09:27:38
все из-за гема listen, но как эго отключить, если просто в удалить из Gemfile, тогда пишет что | /app/gems/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require': Could not load the 'listen' gem. Add `gem 'listen'` to the development group of your Gemfile (LoadError)

Sergey
31.08.2018
09:35:35
Всем привет, как строку 'hh:min::sec' превратить в секунды? Например: "00:01:02.533065 == 62

Fedor
31.08.2018
09:42:25
по хорошему надо парсить строку, делить по символам и умножать часы на минуты и секунды

но можно и извратиться

Time.parse('00:01:02.533065') - Time.current.beginning_of_day 62.533065

rekero
31.08.2018
09:43:21
Fedor
31.08.2018
09:43:39
то оно в

этот формат не влезет

Sergey
31.08.2018
09:43:43
вот все что пришло в голову, как раз то что ты сказал сначала, сплит по : и далее умножение

это топорно и прямо, хотел что-то красивее найти

а по поводу parse: @rekero заметил правильно. Все, что больше 24 - сразу гемор

Fedor
31.08.2018
09:45:02
ну Time - это объект с датой, по факту количество секунд от начала 1970 года, тебе нужен период, тоесть это либо разность объектов типа Time либо писать свой класс - период

либо сплитить и умножать

Sergey
31.08.2018
09:45:32
сплитить пока выглядит самой здравой идеей

Ilya
31.08.2018
09:45:49
да распарсь строку. порой топорное решение - лучшее

к тому же, если что-то лаконичное найдешь то с вероятностью 90% под капотом тот же парсер

Fedor
31.08.2018
09:46:13
вообще да

Sergey
31.08.2018
10:21:17
спасибо, ребят)

Silent Bob
31.08.2018
11:19:00
модель Post hash many tags. Как выбрать посты where у которых определенное количество тегов, к примеру два? (Active Record)

Google
Sergii
31.08.2018
11:56:32
а counter_cache есть?

если есть ,то можно Post.where('tags_count = 2') ^)^

А так-то как Иван написал должно работать.

Антон
31.08.2018
12:52:59
Богдан
31.08.2018
12:57:21
Господа, а не подскажите, куда писать опции в этом геме 'listen'?https://github.com/guard/listen#options

Максим
31.08.2018
12:57:56
>All the following options can be set through the Listen.to after the directory path(s) params.

что из этого не понятно?

не наезд просто вопрос

Богдан
31.08.2018
13:00:58
>All the following options can be set through the Listen.to after the directory path(s) params.
спасибо, я это читал, непонятно все по этому гему. из-за него запущенный докер не видит изменений файлов

уже всю доку обшарил, непонятно ни как его выпилить, ни куда писать Listen.to

Богдан
31.08.2018
13:04:08
от него можно избваиться только при создании проэкта --skip-active-record но как бы это не вариант, AR нужен

Sergii
31.08.2018
13:39:23
options[:categories].split(',').inject({}){ |_h, x| b = x.split('_'); _h[b.last.to_i] ||= []; _h[b.last.to_i] << b.first.to_i; _h} => {242068=>[118], 242201=>[653, 652]}

красивее можно сделаеть?

Приезжает такое, "118_242068,653_242201,652_242201"

Максим
31.08.2018
13:40:47
сделать что

Sergii
31.08.2018
13:41:38
"118_242068,653_242201,652_242201" преобразовать в {242068=>[118], 242201=>[653, 652]}

Artem
31.08.2018
13:49:25
в рельсе можно так "118_242068,653_242201,652_242201".split(',').map { |el| el.split('_').map(&:to_i) }.group_by(&:last).transform_values(&:flatten)

Sergii
31.08.2018
13:51:03
.split(',').map{|x| [x.split('_').map(&:to_i).reverse].to_h }.reduce({}, :merge) - недопилил еще блок для мержа

Google
Sergii
31.08.2018
13:51:15
почти так же

Artem
31.08.2018
13:53:47
ага, у меня еще и не совсем верно работает) твой 2й вариант ?

думаю еще через регулярки можно, но не факт что читабельнее будет

Sergii
31.08.2018
13:55:53
.split(',').map{|x| x.split('_').map(&:to_i).reverse}.inject({}){ |_h, p| p p;_h[p[0]] ||= []; _h[p[0]] << p[1]; _h }

работает, но тоже параход ?

Dmitry
31.08.2018
13:56:09
какой ад

Admin
ERROR: S client not available

Sergii
31.08.2018
13:56:27
p p; лишнее

Denis
31.08.2018
14:33:23
let(:instance_object) { create(instance_object_name_sym) } context '#name' do let!(:name_en) { create(:name, nameable: instance_object, body: 'Custom Text First') } let!(:name_ru) { create(:name, nameable: instance_object, body: 'Ru Name', language: 'ru') } it 'return body of name for passed language' do instance_object.names.reload Почему надо делать тут names.reload? Каким образом здесь names грузится до того, как был сделан первый вызов к ним?

Иван
31.08.2018
14:48:49
работает, но тоже параход ?
можно еще так - split(",").map { |e| e.split("_") }.each_with_object(Hash.new { |h, k| h[k] = [] }) { |(v, k), h| h[k] << v } Если вынести Hash.new { |h, k| h[k] = [] } куда ниубдь повыше, то даже не очень страшно выглядит

Denis
31.08.2018
15:00:45
Оно по идее просто дергает instance_object чтобы достать его ID, names не вызывается. Дальше создается запись в БД в таблицы names. Т.к. я полагаю что lnstance_object.names должен вернуть в тесте массив из двух элементов, но он возращает пустой массив если не сделать reload перед вызовом

Суть проблемы в том что я был уверен что здесь не нужен reload, но без него тест не проходит (тест проверяет что массив не пустой)

Видимо все-таки подгрузка ассоциаций происходит во время создания объекта, а не во время обращения

[21] pry(main)> i = Industry.create! [22] pry(main)> n = Name.create!(nameable_type: i.class.name, nameable_id: i.id, body: 'Hello', language: 'en') [23] pry(main)> i.names => [] [24] pry(main)> i.reload [25] pry(main)> i.names => [#<Name id: 23227, nameable_id: 13, nameable_type: "Industry", body: "Hello", language: "en", created_at: "2018-08-31 15:09:01", updated_at: "2018-08-31 15:09:01">] [26] pry(main)>

Roman
31.08.2018
15:45:41
Всем привет. А pool в database.yml для всего приложения или, например, для каждого форка юникорна?

ojab
31.08.2018
16:01:27
для каждого форка

Roman
31.08.2018
16:02:09
то есть, если я запустил 100 форков и пулл 10, то в пг будет открыт 1000 конекшен пул?

ojab
31.08.2018
16:13:25
ага

Google
Roman
31.08.2018
16:19:39
спасибо!

Богдан
31.08.2018
18:47:41
Господа, посоветуйте что лучше использовать для валидации в контроллере?

Darth
31.08.2018
18:52:30
Валидации чего?

Богдан
31.08.2018
18:54:07
Валидации чего?
параметров передаваемых в контролер

Darth
31.08.2018
18:54:45
Если это параметры для модели, то в модели

Перед этим стронг парамс Вроде всё стандартно

Богдан
31.08.2018
18:56:02
Если это параметры для модели, то в модели
ну как бы в задаче стоит, что бы без валидации модели потому что это антипаттерн

Darth
31.08.2018
18:56:19
Сделай валидацию в другом месте

Форм обжект

Но форм обжекты используются для кастомных валидаций или для использования нескольких из них, т.е. случаев когда запуск всех валидаций в модели не подходит, а нужные тебе валидации где-то ты не хочешь ставить в модель

Богдан
31.08.2018
19:07:55
Антон
31.08.2018
19:22:56
когда это успело стать антипаттерном, я пропустил что-то?

Aleksey
31.08.2018
19:33:44
Vitaliy
31.08.2018
19:56:36
dry-validation
Поддержу, отличное решение! ?

Антон
31.08.2018
20:32:54
form-object’ы, смузи, вся фигня
как это исключает валидации моделей?

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