[Rails] "Selecting" a calculated row / Using :select in the paginate method

Iván Vega Rivera
Fri, 06 Jan 2006 20:00:16 -0000

Thanks!

Wilson Bilkovich wrote:
> Check out this code snippet:
> http://bigbold.com/snippets/posts/show/389
> Even better is the updated version in
''toolmantim''s'' post at the bottom.
>
> On 1/5/06, Iv?n Vega Rivera <ivanvega@gmail.com> wrote:
>
>> Hi,
>>
>> I was trying to use the :select parameter to select a calculated row,
>> but it appears that the parameter is not picked up by the paginate
method.
>>
>> I want to add the following to the select statement:
>>
>> timediff(now(), created_on) as age
>>
>> So I tried:
>>
>> @story_pages, @stories = paginate :stories, {:per_page => 10,
:include
>> => ''user'', :select => ''timediff(now(),
story.created_on) as story_age''}
>>
>> ... to no avail.
>>
>> I know I can create a method named "age" for the story model
that can
>> retrieve that calculation, but that''s a query for each
element, so it''s
>> very undesirable.
>>
>> In case you''re wondering why I don''t calculate the
"age" inside my Rails
>> app, check this blog:
>>
>> http://railsexpress.de/blog/articles/2005/11/09/accelerate-your-dates
>>
>> If you know of a solution or alternative, I''ll greatly
appreciate your help.
>>
>> Sincerely,
>> Ivan V.
>>
>> _______________________________________________
>> Rails mailing list
>> Rails@lists.rubyonrails.org
>> http://lists.rubyonrails.org/mailman/listinfo/rails
>>
>>
> _______________________________________________
> Rails mailing list
> Rails@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails
>
>