Ich schaffe eine App, wo Nutzer ihre Namen eingeben können, die als chemische Symbole zurückgegeben werden (wenn passend).Wie transformiert man eine Benutzereingabe in Schienen 4?
So gelang es mir, wie in der Konsole zu tun:
symbols = {
"ac" => "Ac",
"al" => "Al",
"am" => "Al",
"br" => "Br",
"ba" => "Ba",
"cr" => "Cr"
}
puts "Get your chemical name!"
name = gets.chomp
name.gsub!(/#{symbols.keys.join('|')}/, symbols)
puts name
Jetzt würde ich es in der App arbeitet gerne machen, aber ich weiß nicht, wie die Methode zu schaffen? Ich will es nur in den Ansichten angezeigt werden/show
= @convertor.name
= link_to 'Edit', edit_convertor_path(@convertor)
= link_to 'Back', convertors_path
werde ich die Methode in meinem Modell erstellen oder sonst wo?
class Convertor < ActiveRecord::Base
def get_chemical_name(name)
symbols = {
"ac" => "Ac",
"al" => "Al",
"am" => "Al",
"br" => "Br",
"ba" => "Ba",
"cr" => "Cr"
}
name.gsub!(/#{symbols.keys.join('|')}/, symbols)
puts name
end
end
so meiner Meinung nach versuchten showi so etwas wie [email protected]_chemical(name)
aber erfolglos .. ich brauche Ihre Hilfe bitte
Sie Ihre 'symbols' Hash aus einer früheren Antwort blind kopiert, aber vernachlässigten die' „am“ => „Al“ 'Tippfehler aus dieser Antwort zu beheben. Sie würden auch besser mit 'Regexp.union sein (symbols.keys)', String-Interpolation für Ihre regex Gebäude ist mit diesen Schlüsseln in Ordnung, aber schlechte Gewohnheiten sind schlechte Gewohnheiten. –