ruby 在时间范围内搜索:太阳黑子轨道

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 在时间范围内搜索:太阳黑子轨道相关的知识,希望对你有一定的参考价值。

# in the model 

class Course < ActiveRecord::Base
  has_many :planings
    
  searchable do
    time :course_dates, multiple: true do
      planings.map { |p| (p.start_at..p.finish_at).to_a }
    end
  end
    
end

# in the controller

def index
    @search = Course.search do
      if params[:start_at].present? && params[:finish_at].present?
        with(:course_dates, (params[:start_at]..params[:finish_at]))
      end
    end
    @courses = @search.results
  end
#Have almost the same problem, in my case start_date and end_date wasn't really a date, just a year (integer), solve it with multiple value fields as range:

searchable do
  date :course_date, multiple: true do
    plannings.map{|p| (p.start_date..p.end_date).to_a}
  end
  ...
end

#so course_date contain all years when courses going. If you have 2001-2003 and 2005-2007(2001, 2002, 2003, 2005, 2006, 2007) and search with equal_to.

以上是关于ruby 在时间范围内搜索:太阳黑子轨道的主要内容,如果未能解决你的问题,请参考以下文章

太阳系行星运行轨道模拟动画-基于htmlConvas

在OpenGL中为行星绘制轨道试验[关闭]

没有元素旋转的轨道动画

Ruby on rails:仅从两列范围内获取数据

程序员炫酷溜娃!用代码画地球日月的动态轨道模型

ruby 来自FactoryGirl的工厂在轨道控制台中