
Vitaly
31.10.2016
08:39:13
- можнo увидеть каску, а можно фон =)

Alex
31.10.2016
08:39:48
У меня чот каску не получилось представить.

Антон
31.10.2016
08:41:17
как ты программируешь с таким воображением?

Alex
31.10.2016
08:41:56

Google

Alex
31.10.2016
08:42:03
У меня чот каску не получилось представить.

Антон
31.10.2016
08:42:40

Alex
31.10.2016
08:42:54
В данном случае оно проявило себя во всей красе.

maier
31.10.2016
09:04:00
Какой гем лучше использовать для форм в рельсах особенно если есть много связанных таблиц ?

Дмитрий
31.10.2016
09:08:06
simple_form

maier
31.10.2016
09:10:00
Спс

Дмитрий
31.10.2016
09:10:15
пож)э

maier
31.10.2016
09:10:23
))

yopp
31.10.2016
10:53:03
Ну камон

Антон
31.10.2016
11:23:24
ну никто не хочет нарываться :)

Michael
31.10.2016
12:13:00
ребята подскажите пожалуйста как решать проблему
class Tender < ActiveRecord::Base
has_many :items, dependent: :destroy
accepts_nested_attributes_for :items, allow_destroy: true
end
class Item < ActiveRecord::Base
belongs_to :tender
validates :title, uniqueness: { scope: %i(tender_id), message: 'Another item has same title' }
end
#Migration
add_index :items, [:tender_id, :title], name: 'index_item_unique', unique: true
проблема в том если я в одном тендере создаю два одинаковых итема, то получаю
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_item_unique"
если в тендере уже был итем, а я потом при апдейте пытаюсь добавить такой же итем, то все нормально я получаю error.message

Антон
31.10.2016
12:15:00
форкай рельсу
я больше всего багов нашел в nested_attributes, но править было некогда

Google

Антон
31.10.2016
12:15:35
что в логах?

Michael
31.10.2016
12:16:29
https://gist.github.com/sanyco86/3980f4cca851e4ab81da29e71026298c

Антон
31.10.2016
12:16:35
как воспроизводишь баг?

Michael
31.10.2016
12:17:26
просто через ui создаю

Антон
31.10.2016
12:17:45
ну отличный повод написать несколько строк тестов

Michael
31.10.2016
12:18:12
а что я там нового то увижу?

Антон
31.10.2016
12:18:38
а попробуй сделать кастомный валидатор в Tender
validate :each_tender
а ничо не выйдет
эээээх

Michael
31.10.2016
12:18:53
один итем типа создается, а потом пытается создаться второй итем и PG выдает сообщение что есть дубликат
проходит транзакция

Антон
31.10.2016
12:19:24
хотя может быть поможет быть :each_item

Michael
31.10.2016
12:19:43
в тесте будет то же самое

Антон
31.10.2016
12:19:57
хотя нет, не поможет, потому что в базе их нет
итго проблема: итемы не созданы, они создаются вместе с тендером, создаются bulk-ом, вероятно валидация не вызывается

Michael
31.10.2016
12:20:36
похоже что валидация проверяет только записи из базы, а мне нужно что бы проверяло еще данные из nested_attributes

Alex
31.10.2016
12:20:53
так сделай чтобы валидации на нестед выполнялись

Антон
31.10.2016
12:21:11
нет, еще не настала
нужно еще помучиться
это можно заставить работать

Google

I
31.10.2016
12:21:36
ок)

Антон
31.10.2016
12:22:06
это те редкие страдания которые необходимы, чтобы бояться nested_attributes как огня

Alex
31.10.2016
12:22:28
Еще и без тестов
быстро надоест.

Michael
31.10.2016
12:22:38
я их итак ненавижу, просто другого способа не знаю))

Антон
31.10.2016
12:22:52
дургого способа что сделать?

Michael
31.10.2016
12:22:58
вот сейчас IP засполерил Form Objects, жа буду читать))
))

Антон
31.10.2016
12:23:41

I
31.10.2016
12:24:06
ну вообще Form Object тоже может навалять куч пахнущих приятностей

Michael
31.10.2016
12:24:13
какой смысл билься головой об стену, если можно взять кувалду?

Антон
31.10.2016
12:24:16
с форм объектами ты справишься, это очень просто

Антон
31.10.2016
12:24:31

trickster
31.10.2016
12:24:32
кстати а какие решения есть, чтобы убрать nested attributes?

Admin
ERROR: S client not available

Alex
31.10.2016
12:24:35

I
31.10.2016
12:24:37
если он только не возьмет reform :D

Alex
31.10.2016
12:24:42
а что про него надо слышать?

trickster
31.10.2016
12:24:46
в ruby weekly читал статью с vue.js но это явно избыточно

Антон
31.10.2016
12:24:48

Google

trickster
31.10.2016
12:24:51
:D

I
31.10.2016
12:25:07

trickster
31.10.2016
12:25:10

Антон
31.10.2016
12:25:28
тогда ctrl+alt+reset
reset мышкой

I
31.10.2016
12:25:46

Антон
31.10.2016
12:26:01
еще и мышки наверное нет

I
31.10.2016
12:26:12
да(
нищебродина

Антон
31.10.2016
12:26:24
ацтой

Michael
31.10.2016
12:27:34
у меня нет мышки что делать?)))

I
31.10.2016
12:27:49

Michael
31.10.2016
12:28:42

Adamtsov
31.10.2016
12:29:48
как вариант добавить свою валидацию в tender, которая будет проверять что вложенные item имеют разные названия

Michael
31.10.2016
12:31:11

Антон
31.10.2016
12:31:39
а item еще не создался и не знает кто у него родитель
какие были времена, эээхх
я столько раз хотел себя убить тогда

Alex
31.10.2016
12:32:51