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

Iván Vega Rivera ivanvega at gmail.com
Fri Jan 6 01:25:55 GMT 2006


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.



More information about the Rails mailing list