Re: (Beginner) Finding a database object within a time interval

Anders_P
Sun, 08 May 2011 19:31:56 -0000

Thanks for the tip, got a bit cleaner.

On May 8, 8:02 pm, Frederick Cheung
<frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:
> On 8 May 2011, at 18:51, Anders_P
<and...-TlBSdMGKk75YFVMCzM9+FrNAH6kLmebB@public.gmane.org> wrote:
>
> > Thanks for your answer, I think I got it to work.
>
> > def current_tee
> >  current_time = Time.now
> >  @current_tee = Tee.find :all, :conditions => [
> >    "featured = true AND start_date <
''#{current_time}'' AND end_date
> >> = ''#{current_time}''"
> >  ]
> > end
>
> > I had also forgot '' '' before and after
''#{current_time}''.
>
> If you use the placeholder syntax (  ie  :conditions =>
["start_date < ?", current_time])  then you don''t need to
worry about that and other SQL escaping problems
>
> Fred
>
>
>
> > Thanks!
>
> > // Anders
>
> > On May 8, 5:13 pm, Frederick Cheung
<frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> > wrote:
> >> On 8 May 2011, at 13:58, Anders_P
<and...-TlBSdMGKk75YFVMCzM9+FrNAH6kLmebB@public.gmane.org> wrote:
>
> >>> Hello,
>
> >>> I''m trying to create a find statement that should
find an element
> >>> which start_date and end_date are within Time.now. If I for
example
> >>> have an object with a start_date of 2011-05-04 and end_date of
> >>> 2011-05-19, the find statement should find the elment(s) that
are
> >>> within that time peroid. My code looks like this:
>
> >>> def current_tee
> >>>      @current_time = Time.now
> >>>      @current_tee = Tee.find(:conditions => [
> >>>        "id = ? AND featured => true AND start_date
> #{@current_time}
> >>> AND end_date <= #{@current_time}", params[:id]
> >>>      ])
> >>> end
>
> >> You either need Tee.find :all, :conditions => ...
>
> >> Or Tee.find some_id (or Tee.find :first, :conditions => ... if
you only want one record)
>
> >> But you''ve got something halfway between the two
>
> >> Fred
>
> >>> And:
>
> >>> def show
> >>>    @tee = current_tee
> >>>    respond_to do |format|
> >>>      format.html # show.html.erb
> >>>      format.xml  { render :xml => @tee }
> >>>    end
> >>> end
>
> >>> I keep getting this error: Couldn''t find Tee without
an ID.
>
> >>> Any tips on how to solve this?
>
> >>> Thanks!
> >>> // Anders
>
> >>> --
> >>> You received this message because you are subscribed to the
Google Groups "Ruby on Rails: Talk" group.
> >>> To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh4Ykp1iOSErHA@public.gmane.orgm.
> >>> To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> >>> For more options, visit this group
athttp://groups.google.com/group/rubyonrails-talk?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google
Groups "Ruby on Rails: Talk" group.
> > To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> > To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> > For more options, visit this group