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

Frederick Cheung
Sun, 08 May 2011 15:13:17 -0000

On 8 May 2011, at 13:58, Anders_P
<anders-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-/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 at