I have a series of 'static' pages for a site that need named routes in
Rails 3. I'm trying to DRY the routes file, but can't seem to find the
proper code.
The desired output/code is:
match '/about' => 'info#about', :as => :about
for each page. My attempt to dry this:
%w(about services articles marketing clients).each do |page|
match eval( "'/#{page}' => 'info##{page}', :as => :#{page}")
end
I have a series of 'static' pages for a site that need named routes in
Rails 3. I'm trying to DRY the routes file, but can't seem to find the
proper code.
The desired output/code is:
match '/about' => 'info#about', :as => :about
for each page. My attempt to dry this:
%w(about services articles marketing clients).each do |page|
match eval( "'/#{page}' => 'info##{page}', :as => :#{page}")
end
eval is almost never a good idea, and it certainly isn't needed here.
Try:
match "/#{page}" => "info##{page}", :as => page.to_sym
Any suggestions?
Remember to try string interpolation and send. eval is not that useful
in Ruby -- if you think you need it, remember that you almost certainly
don't.