Esiste un posto adeguato per i metodi di supporto per i modelli in Rails? Esistono metodi di supporto per i controller e le visualizzazioni, ma non sono sicuro di dove sia il posto migliore per mettere i metodi helper del modello. A parte aggiungere un metodo a ActiveRecord::Base
, che preferirei non farlo.Metodi di supporto per i modelli in Rails
UPDATE: Sembra Le preoccupazioni fanno un sacco di senso. Ecco un esempio di ciò che voglio. Alcuni modelli non possono mai essere eliminati, in modo da aggiungere un callback che genera sempre un'eccezione:
before_destroy :nope
def nope
raise 'Deleting not allowed'
end
Con le preoccupazioni, avrei potuto fare qualcosa di simile?
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
È questo il modo Rails di fare questo?
Perché non usi il semplice vecchio modulo Ruby e lo mischi in tutte le classi che vuoi? –
Che cosa significa "helper per modello"? Forse stai cercando un decoratore? –
Sarebbe utile se tu dessi un esempio, penso che la gente potrebbe consigliare sulla convenzione: ci sono molti modi per fare qualsiasi cosa, ma generalmente attenersi alla convenzione è una buona idea. –