DRYing Routes

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

Any suggestions?

I figured this out:

eval( "match '/#{page}' => 'info##{page}', :as => :#{page}")

dwormuth wrote:

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.Â

–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Sent from my iPhone