2013-10-09 24 views
1

我有兩個非常簡單的模型,客戶和約會:如何從控制器或視圖從belongs_to模型連接到has_many表?

class Client < ActiveRecord::Base 
    validates :first_name, presence: true 
    validates :last_name, presence: true 
    validates :copay, numericality: { only_integer: true } 

    has_many :appointments 
end 

class Appointment < ActiveRecord::Base 
    belongs_to :clients 
end 

我想要做的是顯示所有有在索引頁約會的客戶端。通過應用程序控制器嘗試執行此操作對我來說更有意義。這樣的事情:

def index 
    @appointments = Appointment.client.all 
    end 

但我不能完全弄清楚正確的做法。在客戶端控制器是有意義的做這樣的事情:

@clients = Client.all(:include => :appointments) 

什麼是做反向(即拉客戶到約會)的方式嗎?

回答

0

這會給你有約會的所有客戶端:

@clients = Client.joins(:appointments) 

我不認爲這是有道理可言這樣做在你的ApplicationController。既然您想在特定頁面中顯示該列表,您應該在clients#indexappointments#index中執行此操作。

+0

該計劃是在約會#索引中完成的。我一定不清楚。這是否意味着Appointment.joins(:clients)的工作原理是一樣的? – Ramy

+0

是的。一樣。 – depa

相關問題