[前][次][番号順一覧][スレッド一覧]

rails:3152

From: しん <dezawa@a...>
Date: Tue, 11 Aug 2009 19:28:40 +0900 (JST)
Subject: [rails:3152] rails 2.3.2 の URLの作り方は 1.x と違うようですが

出沢です

Rails 2.3.2 で controller にあらたな method(例えば newaction)をつくり
 /controller/newaction を呼ぶと show method が呼ばれ、newaction という
ID がない というエラ−となります(ならない controllerもある)
newactionが呼ばれるようにするには、どうしたら良いでしょうか。


世にでている Rails 1.x ベ−スの本やWebの情報を見ますと、
たとえば 
<%= link_to "編集", :controller => "doc",  :action=>"edit", :id=>@topic.id %>
と書くと   /doc/edit/1 という URLが出来るようです。
ということは /doc/edit/1 をアクセスすると doc_controller の edit method が
実行されるのだと思います。

Rails 2.3.2 ですと、URL の順が変って、/doc/1/edit とか /doc/1 とかになっています。
これは オブジェクト指向的な表現で面白いと思うのですが、困ったことが有ります。

doc_controlleに新たに  def newaction を作ってこれを呼ぶために
 /doc/newaction を呼ぶと show method が呼ばれ、newaction というID はない、という
エラ−となります。
:controller => "doc",  :action=>"newaction" を指定した場合も  URLは/doc/newactionとなり
同じエラ−となります。

期待どおりに動く controller もあるので、よくわからなくなっています。
どう作ったか記憶を掘り起こすと、もしかすると、scaffold で MVC(とT)を作ったものが
こういう動作かなという感触があります。

宣しくおねがいします。


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    3152 2009-08-11 12:28 [dezawa@a...         ] rails 2.3.2 の URLの作り方は 1.x と違うようですが
      3153 2009-08-11 13:41 ┗[andymatsubara@g...  ]                                       
      3154 2009-08-11 16:51  ┗[dezawa@a...         ]