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