Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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 如何在执行筛选后使用rails显示数据库中的关联对象_Ruby On Rails_Ruby On Rails 4_Model View Controller - Fatal编程技术网

Ruby on rails 如何在执行筛选后使用rails显示数据库中的关联对象

Ruby on rails 如何在执行筛选后使用rails显示数据库中的关联对象,ruby-on-rails,ruby-on-rails-4,model-view-controller,Ruby On Rails,Ruby On Rails 4,Model View Controller,首先,我对我的对象文件夹进行筛选,得到筛选结果后,我得到objects@folders 我可以显示表文件夹的所有属性,但我不知道如何显示与表文件夹关联的表中存在的其他人力资源信息 这是我的模型: 文件夹模型: class文件夹

首先,我对我的对象文件夹进行筛选,得到筛选结果后,我得到objects@folders

我可以显示表文件夹的所有属性,但我不知道如何显示与表文件夹关联的表中存在的其他人力资源信息

这是我的模型:

文件夹模型:

class文件夹

Dechnicaldeail模型:

classfolders::TechnicalDetail

所以与文件夹相关的对象是技术细节,如何在过滤后显示技术细节表中的属性

筛选器的colcontroller:`def search 参数[:搜索]| |={}

if params[:search][:created_at_start].present? && params[:search][:created_at_end].present?
  @folders = ::Folder.filter(params[:search]).where('created_at BETWEEN ? AND ?', params[:search][:created_at_start], params[:search][:created_at_end]).where(town_id: permitted_towns)
else
  @folders = ::Folder.filter(params[:search]).where(town_id: permitted_towns)
end
结束`


过滤器工作正常,因此我有了对象文件夹,现在我如何显示技术细节信息,我在表中显示数据

当您获得@folders时,它的意思是文件夹集合(两条记录),您必须先选择@folders的一条记录,然后才能显示其他相关表的属性

这是样品

@first_folder = @folders.first
@first_folder.technical_detail.attribute_name
或者你可以循环它

@folders.each do |folder|
  if folder.technical_detail
    folder.technical_detail.attribute_name
  end
end

您可以在打印属性之前先检查它,if folder.technical_detail上面的if语句意味着它正在检查technical_detail是否为nil/如果不是,它将继续打印属性名称,但如果为nil,它将跳过记录

谢谢您的工作,但是我有一个问题,当属性的值为nill时,它无法显示,即使它为空,我如何显示它