Ruby on Rails - 从控制器中的两个表中选择所有内容

时间:2011-10-29 18:25:11

标签: ruby-on-rails controller

在我的companies_controller中,我有以下内容:

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 *,因此我从BOTH表中获取了所有列。我试图这样做的原因是因为我需要在公司/ 1.xml上使用curl来返回所有数据。也许我需要为公司和地址模型创建一个新的控制器?

谢谢, 克里斯

1 个答案:

答案 0 :(得分:0)

你应该可以像这样使用:include

render :xml => @company.to_xml :include => [:address]