2013-06-06 1 views
6

Bei Rails dreht sich alles um 'Convention over Configuration'. Allerdings habe ich noch keinen "Standard" für die Reihenfolge der Assoziationen, Bereiche, Includes, Validierungen, ... in Rails-Modellen gefunden. Nehmen Sie zum Beispiel das folgende, vereinfachte, Produktmodell:Was ist die richtige Reihenfolge der Zuordnungen, Gültigkeitsbereiche, Validierungen usw. in Rails-Modellen

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 

Ist dies die richtige Reihenfolge? Es ist vielleicht nicht , dass für viele Menschen wichtig ist, aber ich persönlich denke, es wäre großartig, wenn es eine Konvention dazu gäbe.

+4

Ich bin solcher Konvention nicht bewusst. Auch, weil Rubin ist egal, * irgendeine * Reihenfolge ist richtig. –

+0

Sind Sie nicht auch der Meinung, dass es schön wäre, wenn es eine Konvention gäbe? – lafeber

+0

Ich schätze, es spielt keine Rolle, solange Sie verwandte Stücke zusammenhalten, so dass es leicht ist, sie zu finden. –

Antwort

4

Es gibt keine solche Konvention. Sie können jedoch eine für Ihr Projekt erstellen und in allen Modellen konsistent sein. Dem folge ich.

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 
Verwandte Themen