2017-11-12 4 views
-2

Ich versuche, einen Link zu einem Blogpost hinzuzufügen, in diesem Fall blog.linkWie konvertiert man einen String in eine Variable mit Ruby?

Wenn zum Beispiel myblog.link = new_contact_path, wäre es "new_contact_path". Aus meiner Sicht Ich versuche, einen Link <%= @blogs.each do |blog| %> <%= link_to blog.title, blog.link %> <%end %>

I # versucht, mit Verwendung erstellen {blog.link}, aber das funktioniert nicht. Ich habe etwas anderes versucht. Ich werde es in der Antwort veröffentlichen.

+0

Ich verstehe Ihre Frage nicht. 'something_like_this =" something_like_this "' ?? !! Können Sie bitte demonstrieren, welchen Code Sie schreiben möchten? –

+2

Ruby erlaubt es Ihnen nicht, eine lokale Variable dynamisch zu erstellen. Dies könnte in Version 1.8 mit 'eval' gemacht werden, aber nicht in späteren Versionen. –

+0

Ihre Frage ist sehr unklar. Insbesondere weiß ich nicht, was Sie mit "ein Gegenteil von' to_s' "meinen. 'to_s' gibt die Zeichenfolgendarstellung eines Objekts zurück. Suchen Sie nach einer Objektdarstellung einer 'String'? Aber was heißt das überhaupt? Suchen Sie nach etwas wie "String # to_i", das eine ganze Zahl zurückgibt, die den numerischen Inhalt der Zeichenkette repräsentiert? –

Antwort

4

Sie nicht einen String in eine Variable, aus dem einfachen Grund, dass Variablen sind keine Objekte in Ruby umwandeln kann. Wenn Sie eine Zeichenfolge in eine Variable konvertieren möchten, würden Sie dies tun, indem Sie entweder eine Methode für die Zeichenfolge aufrufen oder indem Sie eine Methode für ein anderes Objekt aufrufen und die Zeichenfolge als Argument übergeben. In jedem Fall müsste die Variable von der Methode zurückgegeben werden, aber Methoden können nur Objekte zurückgeben und Variablen sind keine Objekte.

0

Was ich stattdessen tat, wurde eine Hilfsmethode gemacht.

def blog_action_link(link) 
    case link 
    when "person" 
     new_person_path 
    when "place" 
     places_path 
    else 
    new_contact_path 
    end 
    end 

Dann habe ich stattdessen den Helfer in meiner Ansicht verwendet.

Verwandte Themen