Captcha из одного контроллера и экшена

Сейчас около 30 минут не понимал почему у меня не работает валидация каптчи. Ситуация вот такая…есть два типа контента - посты и страницы, и тот и другой можно комментировать. Для комментариев есть отдельный контроллер, а в нем есть есть экшн "create". Так же есть одна форма комментария, которая подключается через renderPartial в пост или страницу.

Вот… для того что-бы работала каптча - я ее указываю в контроллере поста и так как валидация идет в контроллере комментария - там тоже указываю капчу

(иначе не работает exception 'CException' with message 'CCaptchaValidator.action "captcha" is invalid. Unable to find such an action in the current controller.')

Получается что капча объявлена в 2х местах  - это не есть хорошо и из-за этого валидация не проходит!

Может я не совсем понятно выразился…мне необходимо что бы капча для любого типа контента отображалась из одного и того же места - контроллера comment…Кто нибудь сталкивался с подобным???

p.s. в документации нашел свойство captchaAction - что-то я так и не понял как оно работает…

Каптча в контроллере comment

Капча в контроллере Post

При таких объявлениях при обращении к контроллеру Post - капча просто не выводится ((( ???

Опиши каптчу только в одном контроллере. А потом в любой вьюхе делай так:




	<?php $this->widget('CCaptcha', array('captchaAction' => 'controller/action')); ?>

	<?php echo CHtml::activeTextField($contact,'verifyCode'); ?>



1

"а ларчик просто открывался!"…я просто не там указывал это свойство!

спасибо,rosko!