CakePHP1.3.xで複数のPrefix Routingを設定してる時のBakeの動き

CakePHP 1.3.0からPrefix Routingの設定方法が若干変わりました。
CakePHP 1.2系は使ったことが無いので良く知りませんが、1行で複数のPrefixを設定できるようになったようです。


さて、Bake で View や Controller を焼こうとすると「Would you like to create the views for admin routing?」などと聞いてきます。
admin routing とあるけど、複数あったらどっちが admin 用なのか分からないんじゃないかと思って、実験してみました。

結論

View / Conroller を焼く時は両方とも、複数ある Prefix Routing のどちらを使うかを聞いてきます。
なぜか全部という選択肢は無く、全ての Prefix Routing 毎のViewテンプレートや、prefix_add() や prefix_index()といったCRUDなメソッドを、1度に作成する事は出来ませんでした。

環境

Mac Mac OS X 10.5.8(Leopard
MAMP 1.7.2
CakePHP 1.3.0
php 5.2.6

コードなど

Configure::write('Routing.prefixes', array('api', 'admin'));

試しに app/config/core.php にこの様に Prefix Routing を設定。

$ ./cake bake -app ../cakephp_baked view

Welcome to CakePHP v1.3.0 Console
---------------------------------------------------------------
App : cakephp_baked
Path: /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked
---------------------------------------------------------------
---------------------------------------------------------------
Bake View
Path: /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/
---------------------------------------------------------------
Use Database Config: (default/csv) 
[default] > 
Possible Controllers based on your current database:
1. Foos
2. Bars
Enter a number from the list above,
type in the name of another controller, or 'q' to exit  
[q] > 1
Would you like bake to build your views interactively?
Warning: Choosing no will overwrite Applicants views if it exist. (y/n) 
[n] > y
Would you like to create some CRUD views
(index, add, view, edit) for this controller?
NOTE: Before doing so, you'll need to create your controller
and model classes (including associated models). (y/n) 
[y] > 
Would you like to create the views for admin routing? (y/n) 
[n] > y
---------------------------------------------------------------
You have more than one set of templates installed.
Please choose the template set you wish to use:
---------------------------------------------------------------
1. xhtml
2. default
Which bake theme would you like to use? (1/2) 
[1] > 1

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/index.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/index.ctp`

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/view.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/view.ctp`

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/add.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/add.ctp`

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/edit.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/edit.ctp`

You have more than one routing prefix configured
1. api
2. admin
Please choose a prefix to bake with. (1/2) 
[1] > 3
Please choose a prefix to bake with. (1/2) 
[1] > all
Please choose a prefix to bake with. (1/2) 
[1] > 0

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_index.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_index.ctp`

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_view.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_view.ctp`

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_add.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_add.ctp`

Creating file /Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_edit.ctp
Wrote `/Users/myuser/Dev/cakephp1.3.0/../cakephp_baked/views/applicants/api_edit.ctp`
---------------------------------------------------------------

View Scaffolding Complete.

Viewを焼いてみたところ、最後にどのprefix設定を使うかを聞いてきました。
Controller を焼く際も、同じように聞いてきます。
ちなみに、CsvDatasource やテンプレートを追加してるので、ちょっとBakeの出力が多いです。

Prefix Routing部分の抜粋
You have more than one routing prefix configured
1. api
2. admin
Please choose a prefix to bake with. (1/2) 
[1] > 3
Please choose a prefix to bake with. (1/2) 
[1] > all
Please choose a prefix to bake with. (1/2) 
[1] > 0

この様にいくつか試してみたけど、全部といった選択は出来なさそう。
「0」を指定すると「1」扱いになりました。
View を焼く場合は、prefix毎に別の .ctp ファイルが生成されるから2回3回やればいい。
でも、Controller を焼く場合って、1つのControllerファイルに書き込むから、2回目に別のprefixを選んだら、1回目に選んだprefixのメソッドが消えちゃうんじゃ?試してないけど。