rails:2675
From: roppongitoppogi@y...
Date: Sat, 10 May 2008 18:44:03 +0900 (JST)
Subject: [rails:2675] Re: script/console で OK な SQL が、 Class.find(〜) では「 Couldn'tfindClass without an ID 」エラー
自己解決しました。 認証用に設定していた「 before_filter」に該当アクションを 登録するのを忘れていました。 申し訳ありませんでした。 ご協力、ありがとうございました。 感謝いたします。 --- roppongitoppogi@y... wrote: > >森近さん > ご指摘ありがとうございます。修正してみましたが、まだ同 じ > エラーとなります。ちなみに当方1.2.6を利用しています。 > > development.logには; > ActiveRecord::RecordNotFound (Couldn't find Note > without > an ID): > > /home/xxx/lib/ruby/gem/gems/activerecord-1.15.6/lib/active_record/base.rb:1012:in > `find_from_id\ > s' > > /home/xxx/lib/ruby/gem/gems/activerecord-1.15.6/lib/active_record/base.rb:419:in > `find' > > と残っています。 > > あと、scaffoldで作成したnotes_controller.rbに標準でで き > る「list」アクション内に、下記「calender」アクションの 内 > 容を転載すると、notes/list内では、きちんと情報が表示さ れ > ます。。。 > > > P.S. > スレッド無視してしまい申し訳ありません。以後気をつけま す > 。 > > --- Shin Morichika <ofl@c...> wrote: > > > > > > > > -------------------- > > > # notes_controller.rb > > > > > > def weekly > > > @note_a_week = [0, -1, -2, -3, -4, -5, -6] > > > @weekly = [] > > > > > > for day in @note_a_week do > > > if day == 0 > > > res = Note.find(:all, :conditions => > > ["created_on > > > = ?", Time.today]) > > > else > > > res = Note.find(:all, :conditions => > > ["created_on > > > = ?", Time.today + day]) > > > end > > > @weekly << res > > > end > > > end > > > > > > > なぜdayを0とそれ以外に分ける必要があるのかとか、 > > Array#eachやinjectを使った方が > > Rubyっぽいかなとか多少疑問があるのですが、、 > > > > > 実際に自分の環境でコードを試したところ発行されたSQLは > > > > Note Load (0.001214) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-10 00:00:00') > > Note Load (0.000576) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-09 23:59:59') > > Note Load (0.000552) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-09 23:59:58') > > Note Load (0.000526) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-09 23:59:57') > > Note Load (0.000523) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-09 23:59:56') > > Note Load (0.000520) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-09 23:59:55') > > Note Load (0.000515) SELECT * FROM notes > WHERE > > (created_on = > > '2008-05-09 23:59:54') > > > > でした。 > > > created_onのデータがdate形式(2008-05-10)であるならば > > > Time.todayではなくてDate.todayにしておく必要がありそう > です。 > > > > > > > > > > -- > > 森近 真 > > uy4s-mrck@a... > > > > > > > > -- > > ML: rails@r... > > 使い方: http://QuickML.com/ > > > > > -------------------------------------- > GANBARE! NIPPON! Win your ticket to Olympic Games > 2008. > http://pr.mail.yahoo.co.jp/ganbare-nippon/ > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -------------------------------------- GANBARE! NIPPON! Win your ticket to Olympic Games 2008. http://pr.mail.yahoo.co.jp/ganbare-nippon/ -- ML: rails@r... 使い方: http://QuickML.com/
2670 2008-05-09 17:50 [moronatural@g... ] [ANN] Rails勉強会@東京を5/18(日)に大森で実施します 2671 2008-05-10 08:30 ┗[roppongitoppogi@y...] script/console で OK な SQL が、 Class.find(〜) では「 Couldn't find Class without an ID 」エラー 2673 2008-05-10 10:51 ┗[ofl@c... ] 2674 2008-05-10 11:37 ┗[roppongitoppogi@y...] -> 2675 2008-05-10 11:44 ┗[roppongitoppogi@y...] 2676 2008-05-10 12:23 ┗[aliasdice@m... ] 2677 2008-05-10 14:39 ┗[roppongitoppogi@y...] 2678 2008-05-10 18:55 ┗[aliasdice@m... ]