Ich habe ein Rails 4-Projekt mit Ruby 2.0. Ich habe einige Verfeinerungen definiert. Putting
%Vor%am Anfang der Ansichtsdateien verursacht den Fehler "undefined Methode" mit '".
Wenn ich hinzufügen:
%Vor%An der Spitze meines Controllers (oberhalb der Klassendeklaration) kann ich die Verfeinerung im Controller erfolgreich verwenden, aber ich erhalte einen 'undefined method' Fehler, wenn ich versuche, ihn in der Ansicht zu verwenden.
Danke!
Leider scheint dies nicht möglich zu sein. Für die Nachwelt dokumentiere ich die Dinge, die ich versucht habe, die nicht funktionierten:
In der Ansicht:
%Vor%In der Steuerung (jeweils separat getestet):
%Vor%Im Helfer:
%Vor%Beachten Sie, dass Verfeinerungen im Controller und im Helper verfügbar sind, aber nie in der Ansicht.
Schade.
Mit 'using' können Sie Klassenverfeinerungen aus dem Modul in die aktuelle Klassen- oder Moduldefinition importieren. Sie können es nicht in die View-Datei einfügen, indem Sie 'using' verwenden. Wenn Sie es in der Ansicht verwenden möchten, können Sie Folgendes in Ihrem Controller tun (ich habe es nicht getestet):
mit MyRefinements
helper: MyRefinements ODER helper_method: MyRefinements
Tags und Links ruby-2.0 ruby-on-rails-4 refinements