查询索引页面以过滤表中显示的结果-RoR

坦桑克拉克

我正在尝试过滤待办事项列表的索引页,t.datetime "completed_at"我的任务表中有列

目前,我的表单是这样的,

<%= form_with model: @task, method: :GET do |f| %>
  <%= f.label "Complete" %>
  <%= f.radio_button :completed, "complete" %>

  <%= f.label "Incompleted" %>
  <%= f.radio_button :completed, "incomplete" %>

  <%= f.label "All tasks" %>
  <%= f.radio_button :completed, "all_tasks" %>

  <%= f.submit "Filter" %>
<% end %>

和我的控制器

  def index
    if params[:completed] == "complete"
      @tasks = Task.where(completed_at: !nil)
    elsif params[:completed] == "incomplete"
      @tasks = Task.where(completed_at: nil)
    else
      @tasks = Task.all
    end
  end

我正在尝试使用completed_at等于nil来完成任务,完成任务将!nil作为日期时间,当检查完成时将被存储。如果有人能指出正确的方向或举一个如何使它正常工作的例子,我将不胜感激。谢谢。

导轨-6红宝石-2.7

Sebastian Palma的图片

通过否定,nil您将获得true,这样就不会过滤没有nil completed_at行的任务,而不会过滤具有completed_attrue的任务

您可以分配@tasksTask.all,然后根据对其进行params[:completed]修改的值

def index
  completed = params[:completed]
  @tasks = Task.all
  @tasks = Task.where.not(completed_at: nil) if completed == 'complete'
  @tasks = Task.where(completed_at: nil) if completed == 'incomplete'
end

where.not执行技巧来执行IS NOT NULL查询。

或者,如果您想更加面向对象;

class Tasks
  def initialize(completed)
    @completed = completed
  end

  def complete_filter
    return Task.where.not(completed_at: nil) if complete?
    return Task.where(completed_at: nil) incomplete?

    Task.all
  end

  private

  attr_reader :completed

  def complete?
    completed == 'complete'
  end

  def incomplete?
    completed == 'incomplete'
  end
end

def index
  @tasks = Tasks.new(params[:completed]).complete_filter
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

RoR中的关系表

来自分类Dev

RoR中的关系表

来自分类Dev

在RoR的iframe中显示PDF

来自分类Dev

错误消息拒绝显示[RoR]

来自分类Dev

Mysql表在ROR中大写

来自分类Dev

数据表 javascript - RoR

来自分类Dev

在RoR中编写嵌套表格

来自分类Dev

在RoR中编写嵌套表格

来自分类Dev

无法在RoR中运行rspec

来自分类Dev

在循环 RoR 中连接 JSON

来自分类Dev

RoR-在静态页面上添加表单

来自分类Dev

活动记录查询RoR双重条件

来自分类Dev

RoR活动记录限制显示扩展更新

来自分类Dev

RoR从ActiveRecord :: Relation中获取版权

来自分类Dev

ROR应用程序中的WKHTMLTOPDF路径

来自分类Dev

RoR。在Rails中样式化辅助方法

来自分类Dev

测试中的ROR语法错误

来自分类Dev

RoR中的十进制按钮

来自分类Dev

检索RoR中的twitter用户头像

来自分类Dev

无法在RoR中创建动态链接

来自分类Dev

官方RoR教程中的“模板丢失”错误

来自分类Dev

RoR从哈希中获取密钥名称

来自分类Dev

在 RoR 中设置静态上传路径

来自分类Dev

在 RoR 中故意创建重复记录

来自分类Dev

RoR - 从数据库中删除的问题

来自分类Dev

如何在ROR的显示页面上放置下载选项

来自分类Dev

在Ruby / RoR中对多维数组的子数组进行分组/过滤

来自分类Dev

在索引页面上将编辑 simple_form 添加到模态中 - ROR

来自分类Dev

RoR:在“每次”迭代中显示活动存储映像吗?