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... ]