2012-04-02 5 views
0
class Project 
    has_many :pages 
end 

class Page 
    belongs_to :project 
end 


@project = Project.first 
@project.pages.list_out 

Wo sollte ich eine Methode list_out für Seiten haben?Wohin mit einer Methode für die Beziehung für has_many?

+0

Falls Sie die Frage zu verstehen. Was soll '@ project.pages.list_out' genau tun? Auch "wo soll ich X haben?" bedeutet über nichts ... – Romain

Antwort

4
class Project 
    has_many :pages 

    scope :list_out, joins(:pages).where('pages.project_id = ?', self.id) 
end 

class Page 
    belongs_to :project 
end 

@project = Project.first 
@project.list_out 
+0

Ich bevorzuge heute Methoden, keine Bereiche heute – fl00r

1
class Project 
    has_many :pages 

    def list_out 
    pages.map(&:id) 
    end 
end 

class Page 
    belongs_to :project 
end 

@project = Project.first 
@project.list_out 
Verwandte Themen