Typo Category feed
Posted by Peter Donald Sat, 12 Nov 2005 13:49:00 GMT
I did not realize that my blog was subscribed over at JavaBlogs.com so when I wrote my recent entry on AAA in rails I was surprised to get a comment like this one and despite the tone he did have a point. I should not have it subscribed at java blogs. The version of Typo I am using did not seem to support category based rss feeds. So I did a quick google for answers and found that others had added support this and it had even landed on the issue tracker . So I had a quick browse and decided it was easier to write myself and added a route and a quick hack to app/controllers/xml_controller.rb from
def rss
@articles = Article.find(:all, :conditions => 'published=1',
:order => 'created_at DESC',
:limit => config[:limit_rss_display])
endto
def rss
joins = nil
conditions = 'published=1'
if params[:category]
conditions = ['published = 1 AND categories.name = ? AND
articles_categories.article_id = articles.id AND
articles_categories.category_id = categories.id',
params[:category] ]
joins = ', categories, articles_categories'
end
@articles = Article.find(:all,
:select => 'articles.*',
:conditions => conditions,
:joins => joins,
:order => 'created_at DESC',
:limit => config[:limit_rss_display])
endAnd it took me less than 15 minutes which includes time to go and make a coffee. Now that is why I have come to like rails. I may have been able to do the same in another framework but chances are I would have had to guess the table names, file locations, foreign keys etc. With rails I don’t really have to think if the app follows the conventions.