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

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

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

Итак, как лучше всего это сделать?

Ответы [ 2 ]

1 голос
/ 06 февраля 2013

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

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

См .: HTML :: FormHandler :: Manual :: Fields

И: HTML :: FormHandler :: Manual :: База данных

0 голосов
/ 19 июня 2010

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

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

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

...