Ruby on rails 空相关字段上的筛选器-Rails
问这些问题,因为我没有找到任何可以帮助我解决问题的话题。 背景:Rails相对较新,正在构建订单管理系统。为了简化,我有3个模型存在问题:Item、SupplierQuote和SupplierQuoteDetail 项目为项目提供名称、说明和零件号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
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 }