FAQ
Hi,
I'm using FormFu in Catalyst, with a DBIC schema, and have a problem
with a particular usage of nested relationships in the form.

The table in question has a might_have relationship with another table,
let's say like:
book (id, title, blurb)
book_extra (book_id, num_pages, in_stock)

Now, I setup a form like:
---
elements:
- name: title
type: Text
- type: Block
tag: div
nested_name: book_extra
elements:
- name: num_pages
type: Text
- name: blurb
type: Textarea
- type: Block
tag: div
nested_name: book_extra
elements:
- name: in_stock
type: Checkbox

-----------------------------

The idea being that num_pages and in_stock are sent to the related table
instead.

This *does* work for the first nested item, in this case num_pages.
However the second time it comes up, it doesn't do anything - ie.
in_stock is never saved to the DB.
If I move the in_stock element higher up, in the same Block as
num_pages, then it does work.

Is this a known bug/limitation, or is this supposed to work?
Am I doing something wrong?

thanks,
Toby

Search Discussions

  • Mario Minati at May 29, 2009 at 8:43 pm

    Am Freitag 29 Mai 2009 10:41:30 schrieb Toby Corkindale:
    Hi,
    I'm using FormFu in Catalyst, with a DBIC schema, and have a problem
    with a particular usage of nested relationships in the form.

    The table in question has a might_have relationship with another table,
    let's say like:
    book (id, title, blurb)
    book_extra (book_id, num_pages, in_stock)

    Now, I setup a form like:
    ---
    elements:
    - name: title
    type: Text
    - type: Block
    tag: div
    nested_name: book_extra
    elements:
    - name: num_pages
    type: Text
    - name: blurb
    type: Textarea
    - type: Block
    tag: div
    nested_name: book_extra
    elements:
    - name: in_stock
    type: Checkbox

    -----------------------------

    The idea being that num_pages and in_stock are sent to the related table
    instead.

    This *does* work for the first nested item, in this case num_pages.
    However the second time it comes up, it doesn't do anything - ie.
    in_stock is never saved to the DB.
    If I move the in_stock element higher up, in the same Block as
    num_pages, then it does work.

    Is this a known bug/limitation, or is this supposed to work?
    Am I doing something wrong?
    Hi toby,

    this is probaply a limitation of the current implementation of FF::M::DBIC.

    In line 464 (rev. 1525) we only look for the *first* element with a specific
    nested_name attribute.

    So you need to rewrite your form to only include one block with a given
    nested_name.

    Greets,

    Mario
  • Toby Corkindale at Jun 1, 2009 at 1:32 am

    Mario Minati wrote:
    Am Freitag 29 Mai 2009 10:41:30 schrieb Toby Corkindale:
    Hi,
    I'm using FormFu in Catalyst, with a DBIC schema, and have a problem
    with a particular usage of nested relationships in the form.

    The table in question has a might_have relationship with another table,
    let's say like:
    book (id, title, blurb)
    book_extra (book_id, num_pages, in_stock)

    Now, I setup a form like:
    ---
    elements:
    - name: title
    type: Text
    - type: Block
    tag: div
    nested_name: book_extra
    elements:
    - name: num_pages
    type: Text
    - name: blurb
    type: Textarea
    - type: Block
    tag: div
    nested_name: book_extra
    elements:
    - name: in_stock
    type: Checkbox

    -----------------------------

    The idea being that num_pages and in_stock are sent to the related table
    instead.

    This *does* work for the first nested item, in this case num_pages.
    However the second time it comes up, it doesn't do anything - ie.
    in_stock is never saved to the DB.
    If I move the in_stock element higher up, in the same Block as
    num_pages, then it does work.

    Is this a known bug/limitation, or is this supposed to work?
    Am I doing something wrong?
    Hi toby,

    this is probaply a limitation of the current implementation of FF::M::DBIC.

    In line 464 (rev. 1525) we only look for the *first* element with a specific
    nested_name attribute.

    So you need to rewrite your form to only include one block with a given
    nested_name.
    Thanks Mario.

    Is there any way I can rewrite my form to include only one nested_name
    block.. but still have the nested elements interspersed with the
    non-nested elements?

    I ask, because I am trying to implement a form which looks a bit like this..

    fieldset:
    input (first table)
    input (first table)
    input (second table)
    input (second table)

    fieldset:
    input (first table)
    input (second table)
    input (second table)

    fieldset:
    input (first table)
    input (second table)
    input (second table)



    The reason it's setup this way is because there are several forms.. They
    all have the (first table) inputs on them, but each form has different
    (second table) info. (It does result in a normalised database schema,
    which is good.)

    ta,
    Toby
  • Mario Minati at Jun 3, 2009 at 3:08 pm

    Am Montag 01 Juni 2009 03:32:19 schrieb Toby Corkindale:
    Mario Minati wrote:
    Am Freitag 29 Mai 2009 10:41:30 schrieb Toby Corkindale:
    Hi,
    I'm using FormFu in Catalyst, with a DBIC schema, and have a problem
    with a particular usage of nested relationships in the form.

    The table in question has a might_have relationship with another table,
    let's say like:
    book (id, title, blurb)
    book_extra (book_id, num_pages, in_stock)

    Now, I setup a form like:
    ---
    elements:
    - name: title
    type: Text
    - type: Block
    tag: div
    nested_name: book_extra
    elements:
    - name: num_pages
    type: Text
    - name: blurb
    type: Textarea
    - type: Block
    tag: div
    nested_name: book_extra
    elements:
    - name: in_stock
    type: Checkbox

    -----------------------------

    The idea being that num_pages and in_stock are sent to the related table
    instead.

    This *does* work for the first nested item, in this case num_pages.
    However the second time it comes up, it doesn't do anything - ie.
    in_stock is never saved to the DB.
    If I move the in_stock element higher up, in the same Block as
    num_pages, then it does work.

    Is this a known bug/limitation, or is this supposed to work?
    Am I doing something wrong?
    Hi toby,

    this is probaply a limitation of the current implementation of
    FF::M::DBIC.

    In line 464 (rev. 1525) we only look for the *first* element with a
    specific nested_name attribute.

    So you need to rewrite your form to only include one block with a given
    nested_name.
    Thanks Mario.

    Is there any way I can rewrite my form to include only one nested_name
    block.. but still have the nested elements interspersed with the
    non-nested elements?

    I ask, because I am trying to implement a form which looks a bit like
    this..

    fieldset:
    input (first table)
    input (first table)
    input (second table)
    input (second table)

    fieldset:
    input (first table)
    input (second table)
    input (second table)

    fieldset:
    input (first table)
    input (second table)
    input (second table)



    The reason it's setup this way is because there are several forms.. They
    all have the (first table) inputs on them, but each form has different
    (second table) info. (It does result in a normalised database schema,
    which is good.)

    Hi Toby,

    I'm afraid, but there's currently no way of implementing your needs within
    formfu.

    One possibility to achieve your goal might be in useing css to reposition the
    fieldelements the way you need it.

    Nontheless I though myself of splitting forms and nested_elements into
    different fieldsets and to extend formfu for that purpose, but that is not on
    my schedule yet.


    Greets,

    Mario Minati

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouphtml-formfu @
categoriesperl, catalyst
postedMay 29, '09 at 8:41a
activeJun 3, '09 at 3:08p
posts4
users2
websitemetacpan.org...

2 users in discussion

Toby Corkindale: 2 posts Mario Minati: 2 posts

People

Translate

site design / logo © 2022 Grokbase