Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails-从controller中的两个表中选择所有内容_Ruby On Rails_Controller - Fatal编程技术网

Ruby on rails RubyonRails-从controller中的两个表中选择所有内容

Ruby on rails RubyonRails-从controller中的两个表中选择所有内容,ruby-on-rails,controller,Ruby On Rails,Controller,在我的公司\ U控制器中,我有以下内容: 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

在我的公司\ U控制器中,我有以下内容:

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*,因此我从两个表中获取所有列。我之所以尝试这样做,是因为我需要对companys/1.xml进行curl以返回所有数据。也许我需要为公司和地址模型创建一个新控制器

谢谢,
Chris

您应该能够使用
:包括以下内容:

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

您的
公司
模型是否已经指定了一个带有地址的
有一个
有多个
?如果
地址
有一个对应的
所属的
地址,默认情况下将立即加载该地址。你正在做框架已经为你做的工作。查看以获取更多信息。Dave,是的-公司模型有一个:地址,地址模型属于一个:公司。我可以在companys/show.html.erb页面的上显示地址字段。当我从终端运行curl时,问题就出现了。Dave,我运行的是rails 3.1.1,所以我使用了format.xml{render:xml=>@company,:include=>[:address]},它可以工作!感谢您提供协会指南的链接。我有很多书要读。非常感谢。@h8windows很酷,是的,不确定要针对哪个版本。记住要接受答案,这样未来的访问者就可以从视觉上了解到哪些是有用的。我建议旋转通过所有导轨;这些都是肤浅的,但却是很好的出发点。