blog例子中:
当显示一个post详情内容的时候,调用的是post/show,show方法所对应的View主要包括了三部分:一是该post的详细内容、二是对该post的评论列表、三是对该post发表评论的一个表单。这个表单是从comment的view下加载过来的。
主要疑惑是表单的提交。
submitButton:
<?php echo CHtml::submitButton($update?'save':'Submit',array('name'=>'submitComment'));?>
以上这段是没有指定一个submit,像这样array(‘name’=>‘submitComment’,‘submit’=>‘update’),表示该表单是提交给当前模型中的update方法,也就是post/update。如果没有指定就是提交给当前模型的当前方法,也就是post/show,不管是‘修改’还是‘新建’,都是提交给当前模型的当前方法,这样理解对吗?
假如我想把创建评论提交给comment的一个create方法,我是这样写的array(‘name’=>'submitComment,‘submit’=>‘comment/create’),会报错说:comment方法未定义或未找到。是不是,submit只能指向一个‘方法’的名字?如果要提交给comment的create方法,应该怎么写?
另外,假如表单提交给了post/show方法,该方法中判断表单的提交有这么几句:
if(isset($_POST[Comment])){....}
这一句中的Comment是指的什么,是模型的类名吗?比如一个模型叫AAA,在AAAController中获取表单应该时应该写$_POST[AAA]吗??
if(isset($_POST[submitComment])){....}
这一句中的submitComment(name属性)是判断表单是否提交的对吧。
这两句是有区别的,那么区别是什么呢?不可以用第二个代替第一个吗??
请指教新手!谢谢