
Alex
31.10.2016
12:33:27
???

Антон
31.10.2016
12:34:13
прям предвкушаю

Google

Иван
31.10.2016
12:35:45

Антон
31.10.2016
12:36:15
@lutsko86 если ты решишь эту задачу, можешь смело называть себя мидлом

Igor
31.10.2016
12:36:19
согласен, "за такое в нашем монастыре сжигают нахуй"

Alex
31.10.2016
12:36:38

Антон
31.10.2016
12:36:48
:) ну разрули

Adamtsov
31.10.2016
12:39:34
есть норм вариант, вначале создается тендер, пользователя на него перекидывает, и он там создает Item

Антон
31.10.2016
12:39:51
это обход проблемы

Adamtsov
31.10.2016
12:40:18
зато стабильно

Michael
31.10.2016
12:40:22

Adamtsov
31.10.2016
12:40:31
ну да ну да

Michael
31.10.2016
12:40:36
да и ошибка будет такой же
ну создам я тендер
зайду в него и добавлю сразу 2 одинаковых итема

Google

Michael
31.10.2016
12:41:27
получу ту же самую ошибку

Антон
31.10.2016
12:41:36
а я придумал, но это скучно

Alex
31.10.2016
12:42:29
eval - сделай жизнь веселой снова!

Антон
31.10.2016
12:43:14
мне тут пхпшный код показывали, у них eval норма вообще

Alex
31.10.2016
12:43:39
Ерунда.
Никто не юзает eval в здравом уме.

Michael
31.10.2016
12:43:55
короче сделаю так как я делал на прошлом приложении
класс валидатор
и validates_with а там уже буду record разбирать

Антон
31.10.2016
12:46:34

Michael
31.10.2016
12:46:50
хорошо

Антон
31.10.2016
12:46:58
больше всего интересно как ты будешь ошибки на фронт развращать

Michael
31.10.2016
12:52:22
так я валидатор для тендера сделаю и в валидоторе проверю парамметры которые в items_attributes

Антон
31.10.2016
12:56:18
получается что добавив валидацию в итемы ты будешь вынужден дописать валидатор тендера - немножко бред

Michael
31.10.2016
13:19:26
def validate(record)
duplicate = record.items.group_by { |h| h[:title] }.values.select { |a| a.size > 1 }.flatten
record.errors[:items] << 'Another item has same title' if duplicate.any?
end

Alex
31.10.2016
13:19:55
Обожаю патчи AR методов
потом дебажить их одно удовольствие.

Adamtsov
31.10.2016
13:21:01
а почему нельзя тоже самое сделать, просто через validate items_uniq ?

Michael
31.10.2016
13:25:06
покажешь же потом?
или
before_validation :check_items_uniq
или как подсказал @ArtemAdamtsov
validate :items_uniq
private
def check_items_uniq
duplicate = items.group_by { |h| h[:title] }.values.select { |a| a.size > 1 }.flatten
self.errors[:items] « 'Another item has same title' if duplicate.any?
end
или все это можно назвать го*но кодом?

Антон
31.10.2016
13:34:12
я не знаю как это работает, могу только догадываться
покажешь тест?

Google

Антон
31.10.2016
13:34:39
ну и фронту тндно будет объяснить который из айтемов дубликат

Alex
31.10.2016
13:34:43
какой такой тест
?

Антон
31.10.2016
13:38:09
дабоземой, что там тестировать то?
invalid_attributes { [name: :foo], [name: :foo]}
expected_arrors { ....
expect(subject).not_to be_valid
expect(subject.errors).to eq(expected_errors)

Michael
31.10.2016
13:38:20

Антон
31.10.2016
13:39:04
конечно, если не требуется выделить объект который не сохранился
а остальные объекты нужно сохранить? или не сохранять вообще?

Michael
31.10.2016
13:39:04
Та тесты проходят
Нет ничего сохранять не нужно

Антон
31.10.2016
13:40:00
специфичный случай, многое можно игнорировать :(

Adamtsov
31.10.2016
13:40:06
ну сохранить то не получиться, это же все в 1 транзакцию завернеться

Антон
31.10.2016
13:41:35
не подсказывай :)

Michael
31.10.2016
13:43:37
ну как бы если бы нужно было сохранить то можно было бы на accepts_nested_attributes_for :items
reject_if: повешать

trickster
31.10.2016
13:45:17
собеседование на мидла сейчас?

Антон
31.10.2016
13:52:15
раскукливание джуниора в бабочку
в валидации заявки написано, что должно быть 90% верных подписных листов
при этом заявка сохраняется, но ей присваивается состояние: отклонена если таких листов меньше 90%

Michael
31.10.2016
13:59:49
какпец какой расклад, мне проще из миграции убрать индекс уникальности

Антон
31.10.2016
14:00:29
проще SQL написать во вьющке
да ну скучно так
проще и правильныее вообще написать FormObject

Google

Антон
31.10.2016
14:01:11
академически это не правильный путь
ты не страдал

Michael
31.10.2016
14:01:34
садист

Антон
31.10.2016
14:03:16
пхпшники это вообще все руками делают
каждый раз криво
а тут столько раздолья, чо пострадать стоит хотябы ради разнообразия

Admin
ERROR: S client not available

Mikhail
31.10.2016
14:20:42
У меня модель STI, надо скипнуть у дочки валидацию на конкретное поле. Как сделать без костылей?
ojab Антон @Fedcomp @dd_bb не подскажите?

Антон
31.10.2016
14:22:34
еще один претендент на звание мидла

Mikhail
31.10.2016
14:23:04
Типа того

Alex
31.10.2016
14:23:18
?

Mikhail
31.10.2016
14:23:20
Не хочется делать на условиях типа if: :attr_exist

Антон
31.10.2016
14:23:23
ну у тебя же есть validate unless:

Mikhail
31.10.2016
14:23:32
вово
я про это и говорю
там девайсовский :validatable
И надо переназначить и впихать условие, через attr или метод
не очень это красиво
Думал может гуру подскажут)

Google

Антон
31.10.2016
14:24:37
эстетствующий мид

Mikhail
31.10.2016
14:24:52
Костыль, но выключать ее в девайсе чтобы в дочках раздать нопрофит совсем

Антон
31.10.2016
14:25:11
помоему норм
зато очевидно

Mikhail
31.10.2016
14:25:38
Ладно, обсудили дяди крутые, эго потешили. Сделаю через условие

Антон
31.10.2016
15:53:39
Не такие уж и крутые
кто бы как именованые матрицы хранил чтобы по ним можно было искать
18 | 19 | 20 | Москва | СПБ | мальчики | девочки |
18 2шт | | | 1 | 1 | 2
19 | 4 | | 2 | 2 | 3 | 1 |
чтобы можно было сказать что есть Девочка 19 из Москвы
граф не предлагать
графом уже реализовано

I
31.10.2016
16:08:25
Монгой можно
Neo4j можно

Антон
31.10.2016
16:11:04
данные реляционные
я же храню код города из базы городов
код вопроса из бызы вопросов

Akzhan
31.10.2016
16:11:21
можно представить, что это геоданные, и хранить в http://www.postgis.net/ . или просто x, y, data. x, y опять-таки в postgres известны как тип данных point

Антон
31.10.2016
16:14:57
плохо понимаю геоданные
если у меня матрица в каждом отдельном случаем может быть любого разрмера - наплевать?
тоесть каждая матриа - отдельная планета
нужно понять на каких планетах живут девочки 19 из мо

Akzhan
31.10.2016
16:15:43
да тут вопрос скорее в том, какие операции наиболее часты с данными. от этого уже и плясать с выбором формата

Антон
31.10.2016
16:15:59
выборка таких планет

Akzhan
31.10.2016
16:16:48
скорее всего вам формат кортежа (x, y, data) подойдет вполне