Yii CAPTCHA url está roto

Quiero crear un formulario de registro AJAX en mi proyecto Yii. Así que en cada página tengo un botón de inicio de sesión, que muestra una ventana emergente si el usuario no está autorizado. En esa ventana emergente, puede ver el formulario de registro con el campo de correo electrónico, el campo de contraseña y CAPTCHA (por defecto, Yii captcha).

Por lo tanto, mi modelo para el registro del usuario es el usuario. Hay una regla de validación:

array('code', 'captcha', 'allowEmpty'=>!Yii::app()->user->isGuest),

Mi controlador, donde están todas las acciones del usuario, es Usuario (url: site.url / user /) y agregué la acción captcha:

'captcha'=>array(
    'class'=>'CCaptchaAction',
    'backColor'=>0xFFFFFF,
    'foreColor'=>0x000000,
),

En mi siguiente código:

$this->widget('CCaptcha', array(
    'clickableImage'    => true,
    'showRefreshButton' => false,
))

Y aquí hay un problema :( Estar dentro de una ventana emergente, que se puede mostrar en cada página (página de índice, por ejemplo, que pertenece al Controlador principal) captcha quiere cargar una imagen desde ese controlador (desde / main / captcha, no / usuario / captcha).

Agregar Captcha en cada controlador es una mala idea, así que agregué

'captchaAction' => '/user/captcha',

Pero después de eso el captcha quiere cargar desde un url.

http://site.loc/user/captcha/v/4fe99aca1bbed

La URL fácil de usar se estrelló en el captcha y no puedo evitarlo (como creo que, al no ser un experto en yii, se debe a la configuración de ruta común).

¿Hay una solución fácil para resolver esto? ¿Debo reparar las URL o reconfigurar CAPTCHA?

Respuestas a la pregunta(1)

Su respuesta a la pregunta