2013-04-16 12 views
5

Ho bisogno di un buon modo per creare un set di percorsi Rails 3 da un array, nell'helper link_to.Percorso da stringa con il parametro

ho:

TITLES = ['foo', 'bar', 'baz'] 
TITLES.each do |t| 
    = link_to t, (.....path....) 

In questo modo ho bisogno di costruire un insieme di percorsi:

foo_super_users_path(user) 
bar_super_users_path(user) 
baz_super_users_path(user) 

Come potete vedere, ho bisogno di aggiungere lo stesso prefisso _super_users per ogni singolo percorso e passare l'oggetto utente. Come risultato finale, ho bisogno di qualcosa del tipo:

link_to t, foo_super_users_path(user) 
link_to t, bar_super_users_path(user) 
link_to t, baz_super_users_path(user) 

I vostri suggerimenti sono molto apprezzati.

+0

Ciò forse simile a quello che stai cercando: http://stackoverflow.com/questions/2792946/how -do-i-dynamic-change-the-path-to –

risposta

7

Come su

TITLES.each do |t| 
    = link_to t, eval("#{t}_super_users_path(user)") 
4

Invece eval uso public_send

TITLES.each do |t| 
    = link_to t, public_send("#{t}_super_users_path", user) 
+0

public_send ("# {t} _super_users_path", utente) –