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

Frederick Cheung
Sun, 08 May 2011 18:02:29 -0000

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