rails:1562
From: "Masaya Konta" <mkonta@g...>
Date: Thu, 24 Aug 2006 21:40:46 +0900
Subject: [rails:1562] Re: カレンダーの日付のリンク化
かずひこさん、 コンタです。 会社から帰り、早速のテストです。 結果はうまくいきました。 大変参考になりました。ありがとうございました。 コンタ 06/08/24 に Kazuhiko<kazuhiko@f...> さんは書きました: > かずひこです。 > > At Thu, 24 Aug 2006 00:31:19 +0900, > Masaya Konta wrote: > > > コンタと申します。 > > よろしくお願いします。 > > こんにちは。こちらこそよろしくお願いします。 > > > ■やりたいこと > > 「はじめようRuby on Rails」のカレンダーの日付をクリックすると、newに遷移し、 > > datetimeをクリックした日付のものにしたい。 > > それはいい感じですね。 > > > ■やってみたこと > > link_to date.mday.to_s とすることで、日付部分をリンクとしたのですが > > どのように'new'にパラメータを渡したらよいかわかりません。 > > schedules_controller.rbのdef newのところで > > @schedule = Schedule.new(datetime => 2006-08-08) > > とすれば固定の日付は表示されるのですが、 > > やはりクリックした日付をここに反映したく。。 > > 変更する部分は二つあります。 > > * 日付をクエリーに含めた new へのリンクを作る > * コントローラの new メソッドで、日付のクエリーがあればそれをセットする > > ユーザまわりのない Step5 あたりでの差分で示すと、それぞれこんな感じでど > うでしょうか。 > > --- app/views/schedules/month.rhtml (revision 698) > +++ app/views/schedules/month.rhtml (working copy) > @@ -20,6 +20,8 @@ > cell_text << "<br />\n" > cell_text << link_to(h(schedule.title), :action => 'show', :id => schedule) > end > + cell_text << "<br />\n" > + cell_text << link_to('New', :action => 'new', :date => date) > [cell_text, cell_attrs] > end > %> > --- app/controllers/schedules_controller.rb (revision 698) > +++ app/controllers/schedules_controller.rb (working copy) > @@ -16,6 +16,9 @@ > > def new > @schedule = Schedule.new > + if params[:date] > + @schedule.datetime = Time.parse(params[:date]) rescue nil > + end > end > > def create > > 上の差分で、New というリンクが /schedules/new?date=2006-01-02 みたいなリ > ンクになります。クエリーの設定のしかたは、少し上の edit へのリンクで :id > => schedule としているのとほとんど同じですね。 > > そして下の差分で、その date= の中身を parse して @schedule.datetime にセッ > トするようになっています(parse に失敗したら nil にしてあります)。 > > 以上、参考になれば幸いです。 > -- > かずひこ <http://www.fdiary.net/> > 「恋とハックはアジャイルが命!」 > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -- ML: rails@r... 使い方: http://QuickML.com/
1553 2006-08-23 17:31 [mkonta@g... ] カレンダーの日付のリンク化 1554 2006-08-23 17:59 ┗[kazuhiko@f... ] -> 1562 2006-08-24 14:40 ┗[mkonta@g... ]