2016-09-21 2 views
0

Ich habe keine Idee, wie ein Array oder Hash in Schienen zugeordnet werden. Im Layout möchte ich einige Zahlen zuordnen.Kartennummern in Rails zu benennen

Wie kann ich diese Nummer zuordnen? Ich denke, ich sollte das Array in das Modell und Referenz mit einer Klasse setzen. Model.get_name ('Nummer') Aber ich habe keine Idee, wie man diese Klasse schreibt. Ich habe viel gegoogelt, aber nichts war meinem Problem ähnlich.

names = {210 => "Alex", 211 => "Brian", 212 => "Max", 221 => "Claire",230 => "Anna"} 

get_name(id) 
    names.each {|id,v| (v)} 
    puts v 
end 

Ich denke, die Lösung muss so etwas sein.

Antwort

1

Keine Notwendigkeit, map, die Konstante definieren mit Hash, die Schlüssel-Wert-Paar-IDs und Namen enthalten, können Sie nur durch keyvalue aus dem Hash erhalten:

class M 
    Names = {210 => "Alex", 
      211 => "Brian", 
      212 => "Max", 
      221 => "Claire", 
      230 => "Anna"} 
end 

und verwenden Sie es mögen:

M::Names[211] => "Brian" 

Read more about hashes in Ruby

+0

Das konstant funktioniert. Wenn ich <% = M :: Names [210]%> schreibe, aber wenn ich versuche <% = M :: Names [object.number]%> bekomme ich die Ausgabe nicht. –

+0

@RickySpanish das ist in der Variable 'object.number'? –

+0

Ja. Die Nummer befindet sich in Objektnummer. –