Как вы создали вложенную форму, используя HTML::FormHandler в Catalyst?

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

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

Итак, каков наилучший способ сделать это?

2 ответа

Решение

Это не реальный ответ, потому что я не могу предоставить вам решение, но я надеюсь, что у вас есть с чего начать. Я думаю, что вам нужно определить форму в HTML::FormHandler, которая представляет одну строку из вашей таблицы сведений, а затем построить форму только для чтения из нескольких экземпляров однострочной формы. Эта статья описывает проблему и частичное решение гораздо лучше, чем у меня:

http://catdev.blogspot.com/2009/05/defining-form-processing-problem.html

Я довольно новичок в Perl и HTML::FormHandler, и есть хороший шанс, что есть лучший способ сделать это. Это проблема, которую я решил "вручную" в PHP раньше, но я уверен, что столкнусь в Perl.

Этот вопрос старый, но для того, чтобы помочь будущим искателям...

Включение связанной таблицы в форму обрабатывается автоматически, если ваши источники результатов DBIx::Class правильно настроены. Связанную таблицу можно вывести в форму, просто определив составное поле, используя имя отношения другого поля и определив подполя с именами столбцов в связанной таблице.

Смотрите: HTML:: FormHandler:: Manual:: Fields

И: HTML:: FormHandler:: Руководство:: База данных

Другие вопросы по тегам