Below is some code that I've been working to simplify, however I feel there is more that can be done. Please note that I did clean up the articles.search
method.
class HomeController < ApplicationController
@@articles_per_page = 6
def index
@paged_articles = articles.search(:user_id=> @@user_id, :page=>'1', :per_page=>@@articles_per_page)
@tags = get_tags
@next_page_url = url_for(:controller =>:home, :action => :page, :page_id=> 2)
@page_title = "Recent articles"
end
def tags
@paged_articles = articles.search(:page=>'1',:tags=>params[:tag_name], :per_page=>@@articles_per_page)
@tags = get_tags
@next_page_url = url_for(:controller =>:home, :action => :page, :tag_name => params[:tag_name], :page_id=> 2)
@page_title = "Search articles by tags"
render :index
end
def about
@page_title = "About"
end
private
def get_tags
articles.getTags 'param1', 'param2'
end
end
I simplified it this way
class HomeController < ApplicationController
@@articles_per_page = 6
@@first_page_articles_options = {:page=>'1', :per_page=>@@articles_per_page}
@@second_page_url_options = {:controller =>:home, :action => :page, :page_id=> 2}
def index
@paged_articles = articles.search(@@first_page_articles_options)
@tags = get_tags
@next_page_url = url_for(@@second_page_url_options)
@page_title = "Recent articles"
end
def tags
@@first_page_articles_options[:tags] = params[:tag_name]
@paged_articles = articles.search(@@first_page_articles_options)
@tags = get_tags
@@second_page_url_options[:tag_name] = params[:tag_name]
@next_page_url = url_for(@@second_page_url_options)
@page_title = "Search articles by tags"
render :index
end
def about
@page_title = "About"
end
private
def get_tags
articles.getTags 'param1', 'param2'
end
end
So what do you think? Is there any way to make it more better and cleaner?