2013-06-06 9 views
6

Rails è tutto su 'Convenzione sulla configurazione'. Tuttavia, non ho ancora trovato uno "standard" per l'ordine di associazioni, ambiti, inclusioni, validazioni, ... nei modelli Rails. Prendiamo ad esempio il seguente modello semplificato:Qual è l'ordine corretto di associazioni, ambiti, convalide, ecc. Nei modelli Rails

class Product < ActiveRecord::Base 
    mount_uploader :logo, AssetUploader 
    acts_as_taggable 
    paginates_per 50 

    include ActionView::Helpers::NumberHelper 

    belongs_to :company 

    validates_presence_of [:title, :price, :plu] 

    scope :on_website, where(display: true) 

    def display_price 
    ... 
    end 
end 

È l'ordine corretto? Forse non è che è importante per molte persone, ma personalmente penso che sarebbe bello se ci fosse una convenzione su questo.

+4

Non sono a conoscenza di tale convenzione. Inoltre, dal momento che il rubino non si cura, * qualsiasi * ordine è corretto. –

+0

Non sei d'accordo sarebbe bello se ci fosse una convention? – lafeber

+0

Immagino che non abbia importanza se si mantengono uniti i pezzi correlati, in modo che sia facile trovarli. –

risposta

4

Non esiste tale convenzione. Ma puoi crearne uno per il tuo progetto ed essere coerente con esso in tutti i modelli. Questo è ciò che seguo.

class Model < ActiveRecord::Base 
    #all mixins 
    include Something 
    extend Something 

    #other stuff 
    acts_as_taggable 
    paginates 

    #associations 
    has_many :something 
    belongs_to :something_else 

    #validations 
    validate_presence_of :something 

    #scopes 
    scope :something 

    #instance methods 
    def instance_method 
    end 

    #class methods 
    def self.method 
    end 

    #private methods 
    private 
    def method2 
    end 
end 
Problemi correlati