带有DBIC的HTML :: FormHandler在update_model之前更新额外的数据库列

时间:2016-10-04 08:54:26

标签: perl catalyst html-formhandler

我正在使用HTML::FormHandler (with DBIC),我希望更新模型上依赖于表单上提交的其他字段的字段。 HTML :: FormHandler在handling extra database fields上有一个部分,它表示在创建行时,在update_model之前执行此操作:

before 'update_model' => sub {
   my $self = shift;

   $self->item->my_other_column( manipulate_value($self->field('my_field') );
};

这在我添加新项目时有效,但在我编辑时却无效。当我修改项目时my_field已更新,但my_other_column未更新。有谁知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

newtype Example a = Example {ex :: Int -> Int} myexample = Example {ex = (\x -> x + 1)} 仅在您添加新项目时有效。

  

来自docs:如果有另一个需要更新的数据库字段   当创建行时,属性添加到表单中,然后使用before 'update_model'处理它。

尝试before 'update_model'