我将 Section id 的数组存储为整数。event.sections #=> ["1","115","130"]
没有 Events has_many Sections 关系。也许这是一个问题。我只需要 Section 中的 id 而不需要其他任何东西,所以我将整数数组存储为 Postgres 中的序列化字符串。
我可以做这样的事情,它返回一个事件数组:
Event.upcoming.select { |m| m.sections.include? @section.id.to_s}
有没有办法查询这个来取回 ActiveRecord::Relation?
编辑 - - -
我之前的选择查询不正确,因为如果@section.id = "1"
那样,它将匹配并选择具有这些 id 的事件"1", "10", "21", "100"
这是正确的选择语句:
Event.upcoming.select {|e| ( e.newsletters.split(",").flatten.grep /^#{@section.id.to_s}$/ ).presence }