Ich schreibe ein Ajax-Anfrageformular mit Ruby on Rails mit einem collection_select
-Tag, das folgendermaßen aussieht:
Ruby erstellt dann ein HTML-Auswahl-Tag mit id = "Jobs_clearance"
und name = "Jobs[clearance]"
Ich möchte den Parameter an meinen Controller senden, der so aussieht:
%Vor% Ruby liest leider nur ":Jobs"
als Symbol anstelle von ":Jobs[clearance]"
Gibt es eine Möglichkeit, den []
zu entkommen? Backslash funktioniert nicht.
Sie müssen params[:Jobs][:clearance]
params
ist ein Hash aller Anforderungsparameter. Aber params[:Jobs
] ist auch ein Hash aller: Jobs-Parameter. Der Aufruf von params[:Jobs][:clearance]
ruft die Methode []
für das Objekt params[:Jobs]
auf, wobei :clearance
in als Parameter übergeben wird.
kmorris hat Ihr Problem gelöst (sehr gut) aber ich würde gerne Ihre Frage beantworten: Du kannst die Operatoren [] und [] = überschreiben, weil sie Methoden sind (wie fast alles), aber du solltest gut darüber nachdenken, was du tust, weil du jede Menge Dinge brechen kannst.
%Vor%@Deutsch, habe versucht, eine Antwort auf deine Frage zu bekommen.
%Vor%Hoffen Sie, dass Sie das verlangen. Einen Versuch für dich gegeben
Tags und Links ruby escaping ruby-on-rails select