0

これは私に今朝/昨夜遅くに少しフラストレーションを引き起こしています、そして私はここで痛々しいほど単純な何かを見逃しているに違いないと確信しています....

私の見解では:

echo $this->Form->input('form_generator_field_type_id');

そして私のコントローラーには:

$form_generator_field_types=$this->FormField->FormFieldType->find('list');
$this->set('form_generator_field_types',$form_generator_field_types);

これにより、私のビューで$form_generator_field_typesが次のように設定されます。

Array(
[1] => text
[2] => checkbox
[3] => textarea)

フォームヘルパーは、フィールド名の複数形バージョンからの値の配列をフィールドに入力するだけではありませんか?(つまり、page_idは$ pagesでいっぱいになります)?

参考までに(問題の原因かどうかはわかりませんが、FormFieldで定義されているbelongsTo関係は次のとおりです。

var $belongsTo = array(
            'FormFieldType' => array(
                    'className' => 'form_generator.FormFieldType',
                    'foreignKey' => 'form_generator_field_type_id'                
            )
    );

どんな方向性/提案も大歓迎です!

ありがとう

4

1 に答える 1

1

私の問題を理解しました。ヘルパーは複数形の変数を探します。ただし、ドキュメントで気付かなかったのは、キャメルケースバージョンを探しているということです...私の例では..

$this->set('form_generator_field_types',$form_generator_field_types);

になるはずだった

$this->set('formGeneratorFieldTypes',$form_generator_field_types);
于 2010-09-27T16:14:14.877 に答える