Ruby on rails 空相关字段上的筛选器-Rails

Ruby on rails 空相关字段上的筛选器-Rails,ruby-on-rails,postgresql,join,nested-forms,Ruby On Rails,Postgresql,Join,Nested Forms,问这些问题,因为我没有找到任何可以帮助我解决问题的话题。 背景:Rails相对较新,正在构建订单管理系统。为了简化,我有3个模型存在问题:Item、SupplierQuote和SupplierQuoteDetail 项目为项目提供名称、说明和零件号 class Item < ActiveRecord::Base has_many :supplier_quote_details has_many :supplier_quotes, through: :supplier_quot

问这些问题,因为我没有找到任何可以帮助我解决问题的话题。 背景:Rails相对较新,正在构建订单管理系统。为了简化,我有3个模型存在问题:Item、SupplierQuote和SupplierQuoteDetail

项目为项目提供名称、说明和零件号

 class Item < ActiveRecord::Base
   has_many :supplier_quote_details
   has_many :supplier_quotes, through: :supplier_quote_details
但这给了我一个空下拉列表!(不应该,因为我有很多没有价格的物品):

false do | it |%>
请帮忙!如何在此相关字段中正确筛选?以上是我到目前为止发现的唯一方法

非常感谢你

A.

试试这个:

 Item.includes(:supplier_quote_details).where( :supplier_quote_details => { :unit_price => nil }

尝试使用此调用的输出查询对其进行调试
@items=Item.joins(:supplier\u quote\u details)。merge(SupplierQuoteDetail.where(单价:nil))
。这是什么查询?请尝试
Item。包括(:supplier\u quote\u details)。其中(:supplier\u quote\u details=>{:unit\u price=>nil})
这有效!非常感谢你!请将答案标记为正确并关闭它。谢谢
 class SupplierQuoteDetail < ActiveRecord::Base
    belongs_to :item
    belongs_to :supplier_quote
@items = Item.joins(:supplier_quote_details).merge(SupplierQuoteDetail.where(unit_price: nil))
 <%= f.fields_for :supplier_quote_details, :wrapper => false do |it| %>
   <tr class="fields">
     <td><%= it.select(:item_id, @items.map {|item| [[item.description, item.PN, item.SN].join("   |   "), item.id]}) %></td>
 Item.includes(:supplier_quote_details).where( :supplier_quote_details => { :unit_price => nil }