Adres URL Yii CAPTCHA jest uszkodzony

Chcę utworzyć formularz rejestracji AJAX w moim projekcie Yii. Więc na każdej stronie mam przycisk logowania, który pokazuje popup, jeśli użytkownik nie jest autoryzowany. W tym okienku może zobaczyć formularz rejestracyjny z polem e-mail, polem hasła i CAPTCHA (domyślnie Yii captcha).

Tak więc moim modelem rejestracji użytkownika jest Użytkownik. Istnieje reguła walidacji:

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

Mój kontroler, w którym znajdują się wszystkie akcje użytkownika, to Użytkownik (url: site.url / user /) i dodałem tam działanie captcha:

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

W moim następnym kodzie:

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

A oto problem :( Będąc w wyskakującym okienku, które można wyświetlić na każdej stronie (na przykład stronie indeksu, która należy do głównego kontrolera) captcha chce załadować obraz z tego kontrolera (z / main / captcha, not / user / captcha).

Dodanie captcha do każdego kontrolera to zły pomysł, więc dodałem

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

Ale po tym captcha chce załadować z adresu URL

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

Przyjazny dla użytkownika uszkodzony kod url i nie mogę tego uniknąć (jak sądzę, nie będąc ekspertem od yii, jest to spowodowane zwykłą ścieżką konfiguracji).

Czy istnieje łatwe rozwiązanie tego problemu? Czy należy naprawić adres URL lub ponownie skonfigurować CAPTCHA?

questionAnswers(1)

yourAnswerToTheQuestion