
Fedor
28.08.2017
12:57:55
но это дико долго

George
28.08.2017
12:58:23
Возможно можно как-то метку ставить, чтоб понимать откуда продолжать?

Fedor
28.08.2017
12:58:47
ну если записей очень много, то обычно делают обновления пачками по 1000 штук
и просто выводят последний измененный id в лог

Google

George
28.08.2017
12:59:24
Хорошо, понял, спасибо!

Fedor
28.08.2017
13:00:44
Nomenclature.find_in_batches(batch_size: 1000) do |group|
Nomenclature.where(id: group.map(&:id)).update_all(vat_index: nil)
puts group[-1]
end
как-то так

Vlad
28.08.2017
13:21:28
Если записей пару десятков, то вручную если надо обновить удобно, можно так с консоли ж, не катит?
User.where(shared_id: nil).each do |user|
shared_id = gets
user.shared_id = shared_id
user.save
end

Fedor
28.08.2017
13:22:23
N+1 запрос )
тоесть если у вас пара миллионов записей, то это цикл на неделю
если пара десятков, то норм, но некрасиво же

Vlad
28.08.2017
13:23:00
find_each тогда) не суть

Fedor
28.08.2017
13:23:22
неее
у вас в цикле User.save
тоесть на каждого юзера будет свой запрос update к базе
вместое User.where(shared_id: nil).update_all(shared_id: value)
которая дернет всего один запрос на все

Google

Vlad
28.08.2017
13:24:35
Я в смысле написал, что если таких записей немного и если их вручную надо каждую поправить)

Fedor
28.08.2017
13:25:01
ну в целом да, если мало и вручную, то можно и с консоли так подрегать
но я как бывший админ ленюсь делать что-либо больше 3 раз ))))
3 повтора - это уже повод написать код, который все сделает за тебя

Vlad
28.08.2017
13:27:24
Ну в зависимости от задачи, либо подправить надо на свои значения, либо задача просто забить чем-то, дабы NULL не было в таблице. Так что я написал для первого варианта.

George
28.08.2017
13:27:36
Ну да, там все таки в задании подрузамевается много записей
Я не уточнил

Vlad
28.08.2017
13:28:02
Это все с уроков Rubyschool что-ли?

George
28.08.2017
13:30:56
Нее, это у меня тестовое такое

Vlad
28.08.2017
13:42:51
Эх, тоже бы какие-нибудь тестовые повыполнял бы, знать бы где поискать на свой уровень тестовые, наверное такого нет. За плечами десяток проектов на рельсах, свой ecommerce движок, но кажется, что до сих пор ничего не знаю)
Есть где-нибудь сборник каких-нибудь интересных задач уровня не джуниора?

Fedor
28.08.2017
13:44:05
https://www.hackerrank.com
мне вот это советовали, в качестве тренажера для эликсира
может и по рельсам там что-то есть

Vlad
28.08.2017
13:49:37
Ну я имел в виду скорее задания как обычно иногда пишут на вакансию джуниора "создайте проект с использованием технологий #{список технологий} который бы делал то-то и то-то". А тут сайт и задачи типа как на codewars, но codewars получше будет)

Fedor
28.08.2017
13:50:13
ну вообще да, я на нем не просидел долго )
сам не знаю, где норм задачек поискать
мне и под руби надо и под эликсир
можно в гитлаб попроситься, тестовое взять )

Vlad
28.08.2017
14:00:46
Или гем какой-нибудь интересный написать бы, да только написать не проблема, а идею придумать)

Google

Fedor
28.08.2017
14:12:06
контрибьютить можно )

Vlad
28.08.2017
14:12:46
Типа лазить по гемам, смотреть issues и коммитить фиксы?)

Fedor
28.08.2017
14:13:40
ну да, или исправить что-то что тебя самого давно бесит

MR
28.08.2017
14:50:21
https://www.codetriage.com/?language=Ruby
я такую штуку нашел, чтобы самому не лазить

Maks
28.08.2017
14:52:47

Vladimir
28.08.2017
14:54:22
я смотрю у #grape крепкие позиции, всё зелено-зелено... [199 issues] ;) против того же #Rails [1939 issues]

Е
28.08.2017
15:39:56

Tanya
28.08.2017
15:45:21
git-fire никто не использовал в рабочих проектах? как на такое смотрит руководство?

LastGuard
28.08.2017
18:37:07
Нашёл в чём была проблема... без разницы, в таблице какие имена.. были предположения что Name нельзя, версии не совпадают и т.д... в коде всё верно за исключением цикла def -> его всё же стоит ставить в начало. А проблема была в том, что мы упирались в построение таблицы и меняли названия - отсюда всё и пляшет, а перезапись таблицы не сделали.. в общем удалив фаил barbershop.db, всё заработало! и если вдруг опять поменять в коде названия в таблице, то опять придётся удалять barbershop.db пока в коде не включишь перезапись.. : ) Всем спасибо кто помогал, главное что разобрался..

Vladimir
28.08.2017
19:03:28

LastGuard
28.08.2017
19:14:41
Прям в точку)) ради этого - стоит кодить..

Vladimir
28.08.2017
19:24:48
Да, эффект магии кода безграничен. Code is poetry.
#Code The problem with your code is that it's doing exactly what you told it to do.

Alex
28.08.2017
19:54:36
Cейчас возможно будет глупый вопрос:
.items.clearfix
- @top.each do |top|
.item
почему при each таком блоке возвращается? childElementCount: 1 хотя на экране 4?
слайдер из-за этого не работает
вообще может из-за это слайдер не работать

Roman
28.08.2017
20:20:39

Alex
28.08.2017
20:25:18
4 элемента на странице, выводятся следующим циклом:
.items.clearfix
- @top.each do |top|
.item
почему на выходе свойство childElementCount: 1?

Google

Roman
28.08.2017
20:27:59
ну у дива, который ты выделил, child - это другой вложенный в него див
и он один

Alex
28.08.2017
20:30:15
Хорошо, а почему в макете (от верстальщиков, где в html нарисовано 4 дива items) возвращает по другому?

Roman
28.08.2017
20:30:56
потому что там 4 дива вложено :)
посмотри внимательней
посмотри на свойство children там и там

Alex
28.08.2017
20:34:51
В упор не вижу :)
Так в макете:
<div class="products">
<div class="container">
<div class="title">Предложения недели<div>
<div class="items clearfix">
<div class="item">
а так у меня :
.products
.container
.title = t("carousel.title")
.items.clearfix
- @top.each do |top|
.item
Где ошибка? )
вот чтобы отступы были видны: https://pastebin.com/MkPvMbsX

Admin
ERROR: S client not available

Roman
28.08.2017
20:37:08
нажми на див с классом slick-track
тебе он нужен
в нем содержатся итемы, судя по второму скрину
да и по первому)

Alex
28.08.2017
20:38:16
а вот такой вот слайдер не работает: https://pastebin.com/kNdfzV1F
ошибок в консоли нету
Этот JS точно подключен, потом что в другой слайдер, который выше этого находится - работает

Roman
28.08.2017
20:40:38
по коду, который ты кидаешь - все ок, но, очевидно, он неполный. а по скринам видно, что в каких дивах лежит
$('.products .slick-track').slick({ напиши

Alex
28.08.2017
20:43:57

Google

Roman
28.08.2017
20:45:23
просто $('.slick-track').slick({ попробуй)

Alex
28.08.2017
20:46:54

Roman
28.08.2017
20:47:10
:D
я не знаю, как твой слайдер работает :)

Alex
28.08.2017
20:47:35
https://pastebin.com/T09ptxBB
вот JS, а слайдер : http://kenwheeler.github.io/slick/
https://github.com/kenwheeler/slick/blob/master/slick/slick.js

Roman
28.08.2017
20:50:16
в доках написано: <div class="your-class">
<div>your content</div>
<div>your content</div>
<div>your content</div>
</div>
$('.your-class').slick({
setting-name: setting-value
});

Alex
28.08.2017
20:51:44
В макете то работает )

Roman
28.08.2017
20:57:53
странно
а ты полный макет уже сделал? по скринам не хватает дивов

Dmitry
28.08.2017
21:01:02
у меня этот слайдер на сайте есть
работает могу скинуть код если поможет

Alex
28.08.2017
21:02:49

Dmitry
28.08.2017
21:04:05
<script>
$('.single-item').slick({
dots: true,
infinite: true,
speed: 800,
slidesToShow: 1,
autoplay:true,
adaptiveHeight: true,
arrows : false,
dots: false,
});
</script>
<!-- Slider -->
<hr class="slider-hr">
<div class="b-slider">
<div class="single-item">
<div class="b-slider-0"></div>
<div class="b-slider-1"></div>
<div class="b-slider-2"></div>
<div class="b-slider-3"></div>
<div class="b-slider-4"></div>
<div class="b-slider-5"></div>
</div>
</div>
<!-- Slider end -->

Alex
28.08.2017
21:05:12
Да, у тебя сделано как в доках, вот только не могу понять как в макете html работает :)

Dmitry
28.08.2017
21:05:59
я просто не могу понять в чем вопрос. чтобы ответить)

Roman
28.08.2017
21:06:25

Alex
28.08.2017
21:06:54
до конца? но ведь дивы, которые он вызывает уже закрыты