Ruby on Rails:带有关键字和日期范围的搜索表单不起作用



这是 Ruby on Rails 的初学者。 我正在索引视图中添加搜索框,并希望使用关键字和日期范围进行搜索。 关键字搜索效果很好,但是如果我包含日期范围,则不会返回任何内容。有点困惑, 所以我在这里发帖。

  • 在模型中实现的搜索操作是这样的。
def self.search(search, date_from, date_to)
if !date_from.blank? && !date_to.blank?
@searched_private_questions = self.where(" asktime BETWEEN ? AND ? ", "#{date_from}", "#{date_to}" )
else
@searched_private_questions = PrivateQuestion.all
end
if !search.blank?
#search with user name first
searched_user = User.where( 'name LIKE ?', "%#{search}%" )
if !searched_user.empty?
@searched_private_questions = @searched_private_questions.where(user: searched_user).order(:asktime)
else
#if search keyword is not username, search in title and body context
@searched_private_questions = @searched_private_questions.where('title LIKE ? OR body LIKE ?', "%#{search}%","%#{search}%").order(:asktime)
end
else
@searched_private_questions = @searched_private_questions.order(:asktime)
end

end

搜索(关键字(和date_from,date_to参数传输良好。 但是如果我插入date_from并date_to参数,则 where 子句不会返回任何内容。

可以与分页码相关吗?

  • 在控制器索引操作中如下所示:
def index
@searched_private_questions = PrivateQuestion.search(params[:search], params[:date_from], params[:date_to])
@pagy, @private_questions = pagy(@searched_private_questions, items:10) 
end

我正在使用带有 cdn 的轨道 5 和引导程序 3,以及引导日期选择器。 日期选择器运行良好。 我希望有人帮助我... 谢谢。

日志图片 : 在此处输入图像描述

我发现了有趣的观点!!!!!!!!如果我在连接到PostgreSQL数据库的生产环境中执行它,它可以工作。可能与 sqllite 设置有关。无论如何,它可以在生产环境中工作!很抱歉混淆了

;;;

最新更新