一切從兩個表在我companies_controller,我有以下幾點:Ruby on Rails的 - 選擇控制器
def show
@company = Company.find(params[:id],
:conditions => ['companies.id = addresses.company_id'],
:joins => [:address])
respond_with(@company) do |format|
format.xml { render :xml => @company}
end
end
其中在結果:
SELECT "companies".* FROM "companies" INNER JOIN "addresses" ON "addresses"."company_id" = "companies"."id" WHERE "companies"."id" = ? AND (companies.id = addresses.company_id) LIMIT 1
在服務器控制檯。
然而,我試圖得到SELECT *,所以我得到了兩個表中的所有列。我試圖這樣做的原因是因爲我需要curl公司/1.xml來返回所有數據。也許我需要爲公司和地址模型創建一個新的控制器?
謝謝, 克里斯
不你'Company'模型已經指定了'has_one'或'has_many'有地址嗎?如果'Address'有一個對應的'belongs_to',默認情況下它會被急切加載。你正在做這個框架已經爲你做的工作。 –
查看[Rails協會指南](http://guides.rubyonrails.org/association_basics.html)瞭解更多信息。 –
Dave,是 - 公司模型has_one:地址和地址模型belongs_to:company。我可以在companies/show.html.erb頁面上顯示地址字段。當我從終端運行curl http:// localhost:3000/companies/1.xml時,問題就出現了。它只返回公司表中的節點。 – h8windows