Так если у вас InflateColumn, то вам явно нужно сделать ->set_inflated_columns для объекта модели.
Я обычно переопределял update_model из HTML::FormHandler::TraitFor::Model::DBIC 2015-06-23 18:15 GMT+03:00 Alex Povolotsky <[email protected]>: > HTML::FormHandlerX::Field::JSON - совсем не то. Он подстраивает вывод > под json, а у меня форма строго определенная. > > Вообще, я пытаюсь связать HTML::FormHandler с DBIx::Class и > DBIx::Class::InflateColumn::Serializer, но, если я не пытаюсь явно > превратить хэш в json до передачи в модель, то > > SQL::Abstract::belch(): [SQL::Abstract::__ANON__] Warning: HASH ref as > bind value in insert is not supported at > /usr/local/lib/perl5/site_perl/HTML/FormHandler/TraitFor/Model/DBIC.pm > line 85 > INSERT INTO clients ( data, type) VALUES ( ?, ? ) RETURNING id: > 'HASH(0x80d751528)', '1' > > > а если пытаюсь, то > > [Tue Jun 23 18:08:34 2015] [error] Can't use string > ("{"region":null,"full_name":null,"...) as a HASH ref while "strict > refs" in use at > /usr/local/lib/perl5/site_perl/HTML/FormHandler/InitResult.pm line 144. > > > On 23.06.2015 17:59, Dmitry L. wrote: >> А для чего вы используете HFH? Валидация и рендер форм? Или только валидация? >> >> Если только для валидации, то никакой HFH::Field::JSON вам, наверное, >> не нужен. Достаточно Compound. >> Если кроме валидации ещё и формы рендерите, то посмотрите на >> HTML::FormHandlerX::Field::JSON . >> >> Сам я отказался от HFH, из-за его тормознутости на Repeatable полях, и >> сделал свой вариант https://github.com/dim0xff/p5-Form-Data-Processor >> (но там только валидатор). >> А эта штука https://github.com/dim0xff/p5-Form-Data-Processor-Field-Subforms >> позволяет делать то, что вы хотите (типа, в зависимости от поля type >> подставлять валидатор под данные, которые находятся в Compound поле >> data) >> >> 2015-06-23 17:48 GMT+03:00 Alex Povolotsky <[email protected]>: >>> Велосипед в том, что у кого-то HTML::FormHandler::Field::JSON уже >>> написан, просто до CPAN руки не дошли. >>> >>> Аналогично - с FH-классом для динамических форм с переключателем >>> >>> Грабли - я вроде бы пока никаких не вижу) но вдруг у меня кочка зрения >>> неправильная? >>> >>> json в реляционной БД - говорят, вполне работает, и пошустрее, чем в >>> иных NoSQL. >>> >>> On 23.06.2015 17:45, Dmitry L. wrote: >>>> А в чём велосипед и какие грабли могут быть (я сейчас про сторону >>>> перла говорю, а не про хранение json в реляционной бд)? >>>> >>>> 2015-06-23 17:29 GMT+03:00 Alex Povolotsky <[email protected]>: >>>>> Добрый вечер >>>>> >>>>> Есть задача (вполне классическая) - хранить базу клиентов. Система >>>>> пишется на Mojolicious. >>>>> >>>>> Клиенты, естественно, бывают юридическими и физическими лицами. >>>>> >>>>> Возникла идея - пользуясь возможностями JSON в новом постгресе, хранить >>>>> в базе внутренний номер клиента, тип и все остальные данные в JSON, по >>>>> которому, при необходимости, и искать. >>>>> >>>>> Очевидная следующая идея - сделать компаунд-поле типа JSON, которое >>>>> будет свертывать сериализатором все поля, при необходимости валидируя >>>>> их, и динамическую форму с использованием HTML::FormHandler и >>>>> обобщенного механизма создания "полей с JSON". Как мне кажется, штука >>>>> может получиться неплохо повторно используемая. >>>>> >>>>> Делал ли кто-нибудь что-нибудь подобное? Возможно, я изобретаю велосипед >>>>> или, наоборот, собираюсь гулять по полю самозарядных граблей? >>>>> >>>>> Alex >>>>> -- >>>>> Moscow.pm mailing list >>>>> [email protected] | http://moscow.pm.org >>>> >>>> >>>> >>> -- >>> Moscow.pm mailing list >>> [email protected] | http://moscow.pm.org >> >> >> > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org -- //wbr, Dmitry L. -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
