2013-04-16 6 views
5

Ich brauche eine gute Möglichkeit, eine Reihe von Rails 3 Pfade aus einem Array, in der link_to Helfer erstellen.Pfad von String mit Parameter

ich habe:

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

Auf diese Weise ich brauche einen Satz von Pfaden zu konstruieren:

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

Wie Sie sehen können, ich brauche gleichen Präfix hinzuzufügen _super_users für jeden einzelnen Pfad und übergeben Benutzer Objekt. Als Endergebnis brauche ich etwas wie:

Ihre Vorschläge werden sehr geschätzt.

+0

Dies vielleicht ähnlich dem, was Sie suchen: http://stackoverflow.com/questions/2792946/how -do-i-dynamisch-ändern-den-Pfad-zu –

Antwort

7

Wie wäre es

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

Statt eval Verwendung public_send

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

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