rails:3372
From: naopontan <naopontan@g...>
Date: Fri, 29 Jan 2010 10:29:20 +0900
Subject: [rails:3372] Re: 複数のレコードを更新する画面でのルート定義
naopontanです。 返答が遅れて申し訳ございません。 英語は苦手ですが、少しづつ分かってきました。 結果、以下の様なルーティングを記述する事で目的は達成できました。 # 表示 map.schedules 'schedules/:yyyymm', :controller => 'schedules', :action => 'index', :yyyymm => /\d{6}/, :conditions => { :method => :get } # 編集 map.edit_schedule 'schedules/:yyyymm/edit', :controller => 'schedules', :action => 'edit', :yyyymm => /\d{6}/, :conditions => { :method => :get } # 更新。更新後は編集にリダイレクト map.connect 'schedules/:yyyymm', :controller => 'schedules', :action => 'update', :yyyymm => /\d{6}/, :conditions => { :method => :put } ここまでで理解は深まったのですが、これだと年月が省略できない事に気付きました。 年月が省略された場合は「当月」としたい欲が出てきたので、もう少し勉強してみます。 ありがとうございました。 2010年1月21日17:02 okkez <okkez000@g...>: > okkez です。 > > 2010年1月21日16:41 naopontan <naopontan@g...>: >> ルーティング定義や REST(?)がよく理解できていないので教えて欲しいです。 >> >> 例えば、日付毎に管理される schedules テーブルがあったとします。 >> 普通だと routes.rb にて >> map.resources :schedules >> で1件づつ管理しますよね。 >> これを1件づつではなく、1ヵ月単位で画面表示したいのです。 >> >> ◆画面イメージ >> +-- 2010年1月 ---------+ >> | ←前月 次月→ | >> |----------------------| >> | 2010/1/1 [散歩 ] | >> | 2010/1/2 [ ] | >> | ・ | >> | <保存> | >> +----------------------+ >> >> これを実現するにあたり、疑問が幾つか出てきました。 >> >> 疑問1: >> URLは http://localhost:3000/schedules/201001 と出来ればいいな。 >> けど routes.rb にどう書くんだろう? >> また、この場合は複数形じゃない方がいいんだろうか? >> (私のスキルでは http://localhost:3000/schedules?date=201001 が限界) > > とりあえず > http://railsapi.com/doc/rails-v2.3.5/classes/ActionController/Routing.html > を読んでみてはいかがでしょうか。 > >> >> 疑問2: >> コントローラーに実装するアクションは2つで良いと思うのだが、 >> 名前は何がいいんだろうか? >> - 画面表示するアクション⇒ index or show or edit ? >> - 更新するアクション⇒ これは update でいいのかな。 >> > > 他のアプリケーションのコードを読んでみてはいかがでしょうか。 > http://github.com/fdv/typo とか。 > > > > -- > okkez > okkez000@g... > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -- ML: rails@r... 使い方: http://QuickML.com/
3367 2010-01-21 08:41 [naopontan@g... ] 複数のレコードを更新する画面でのルート定義 3368 2010-01-21 09:02 ┗[okkez000@g... ] -> 3372 2010-01-29 02:29 ┗[naopontan@g... ]