Gibt es einen geeigneten Platz für Hilfsmethoden für Modelle in Rails? Es gibt Hilfsmethoden für Controller und Ansichten, aber ich bin mir nicht sicher, wo der beste Platz für Modellhelfermethoden ist. Neben dem Hinzufügen einer Methode zu ActiveRecord::Base
, die ich nicht bevorzugen würde.Hilfsmethoden für Modelle in Rails
UPDATE: Es scheint, Bedenken machen viel Sinn. Hier ist ein Beispiel von dem, was ich will. Bestimmte Modelle können nie gelöscht werden, so dass ich hinzufügen, einen Rückruf, der immer eine Ausnahme auslöst:
before_destroy :nope
def nope
raise 'Deleting not allowed'
end
Mit Sorgen, ich könnte so etwas tun?
class MyModel < ActiveRecord::Base
include Undeletable
end
module Undeletable
extend ActiveSupport::Concern
included do
before_destroy :nope
end
def nope
raise 'Deleting not allowed'
end
end
Ist dies die Rails-Methode?
Warum verwenden Sie nicht einfach altes Ruby-Modul und mischen Sie es in alle Klassen, die Sie wollen? –
Was bedeutet "Helfer für Modell"? Vielleicht suchst du einen Dekorateur? –
Es würde helfen, wenn Sie ein Beispiel geben würden, denke ich, dann könnten Leute auf Konvention beraten: es gibt viele Möglichkeiten, etwas zu tun, aber im Allgemeinen an der Konvention zu halten ist eine gute Idee. –