2013-03-26 3 views
0

У меня хорошая история с CakePHP 1.3, но я работаю над своим первым приложением 2.x (2.3, в данном случае) и столкнулся с тем, что появляется, чтобы быть несколькими нечетными проблемами с Создание URL-адресов, что я надеюсь, что кто-то может мне помочь.Проблемы с URL в CakePHP 2.3

  1. У меня есть форма, что я хотел бы представить такие же действия с другим расширением (.csv). Чтобы сделать это, я попытался:

    # FYI, $this->here = /admin/activities/index 
    $this->Form->create('Activity', 
        array('admin' => true, 'controller' => 'activities', 'action' => 'index', 'ext' => 'csv') 
    

    Что я получаю в моей форме действия action=".csv".

  2. Как возможный обходной путь, я попробовал просто установить URL-адрес в виде строки - 'url' => '/admin/activities/index.csv'. Теперь форма action выглядит правильно, но когда я отправлю форму, я получаю сообщение об ошибке.

    Error: The action admin_index.csv is not defined in controller ActivitiesController 
    

Что я здесь отсутствует? Я прочитал документы 2.3 FormHelper & Router, а также документы по миграции для каждой версии, которую я пропустил (2.1, 2.2, 2.3), и я не вижу ничего, что выскакивает на меня, я впервые пропустил что-то.

ответ

0

То, о чем вы упоминали в № 2, не обходное решение, а правильный способ указания URL-адреса. Ошибка, которую вы получаете, вероятно, из-за того, что вам не хватает Router::parseExtensions() на ваших маршрутах.php

Редактировать, чтобы быть понятным, это то, что должно выглядеть ваша Form-> create().

$this->Form->create('Activity', 
    array('url' => array(
    'admin' => true, 'controller' => 'activities', 'action' => 'index', 'ext' => 'csv' 
)) 
); 

и добавить Router::parseExtensions() или Router::parseExtensions('csv'), если вы хотите, чтобы разобрать .csv расширения для вашего routes.php

+0

Черт. Я знал, что это будет что-то простое. Я включил префикс маршрутизации 'admin', но полностью не смог включить разбор партитуры. Спасибо чувак. Кроме того, я не понимал, что # 2 предпочтительнее синтаксиса массива. –

+0

Ах, только что увидел твою правку. Понял. Спасибо за вашу помощь. –

 Смежные вопросы

  • Нет связанных вопросов^_^