Saturday, July 3, 2010

[Rails] Re: DRYing Routes

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
marnen@marnen.org

Sent from my iPhone
--
Posted via http://www.ruby-forum.com/.

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate