如何在Rails应用程序的模型函数中获取所有返回True的记录?

jackerman09

我有以下模型:

class AuthorizedDriver < ActiveRecord::Base
  belongs_to :car
  def authorized?
    !self.authorized_until.nil? && self.authorized_until.to_date >= Time.current.to_date
  end
end

我希望能够做到:

def show_authorized_drivers
  @car = Car.find(params[:id])
  @authorized_drivers = @car.authorized_drivers.where(authorized?: true)
end

我知道我可以在特定字段中执行此操作,但是我想使用上面的authorized?功能(或稍后使用其他功能)。

对此任何指导将不胜感激,谢谢!

我正在使用Rails 4.1.4和Ruby 2.1.2。

斯派克曼

将以下内容添加scope到您的Driver模型中:

scope :authorized, -> { where('authorized_until >= ?', Time.current) }

然后,您可以向授权驾驶员查询汽车,如下所示:

@authorized_drivers = @car.authorized_drivers.authorized

更新(回答您的评论):如果需要添加其他条件,则有两个选择。

您可以将两个条件合并为一个范围:

scope :authorized, -> { 
  where('authorized_until >= ?', Time.current).where(status: 'Active')
}

或者,您可以添加另一个范围:

scope :active, -> { where(status: 'Active') }

并链接范围:

@authorized_drivers = @car.authorized_drivers.authorized.active

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rails 4:如何在应用程序中的所有模型中添加列?

来自分类Dev

如何在使用try / catch的应用程序中记录所有异常?

来自分类Dev

如何在使用try / catch的应用程序中记录所有异常?

来自分类Dev

如何在Rails应用程序中列出所有邮件程序

来自分类Dev

如何在iOS中从我的应用程序获取所有消息传递应用程序列表

来自分类Dev

如何在tomcat服务器中获取所有已部署的应用程序

来自分类Dev

如何在列表中获取所有共享应用程序(安装在设备上)?

来自分类Dev

如何在给定的角度应用程序中获取所有指令名称?

来自分类Dev

如何在Angular应用程序中获取所有控制台错误消息

来自分类Dev

如何在Ember.js 3.18中获取应用程序的所有路由列表?

来自分类Dev

如何在列表中获取所有共享应用程序(安装在设备上)?

来自分类Dev

如何在tomcat服务器中获取所有已部署的应用程序

来自分类Dev

如何在Windows窗体应用程序中获取所有窗体

来自分类Dev

如何在跑道应用程序中获取所有 FieldIds(即使某些字段为空)

来自分类Dev

如何在TypeScript中获取函数应用程序的类型?

来自分类Dev

如何从iOS中的应用程序获取所有消息传递应用程序列表

来自分类Dev

如何在Rails控制台中获取模型的所有记录的计数

来自分类Dev

如何在Rails控制台中获取模型的所有记录的计数

来自分类Dev

如何在Rails 3.2应用程序中从具有不同键的两个模型创建数组?

来自分类Dev

我应该如何从.NET MVC应用程序中的所有函数返回通用响应和响应代码?

来自分类Dev

记录WinForms应用程序中的所有按钮单击

来自分类Dev

如何在Rails应用程序中完全删除对application.js和application.css的所有引用?

来自分类Dev

如何在Rails中为拼贴画接纳应用程序计划模型关系

来自分类Dev

如何在Node应用程序中获取更多详细日志记录?

来自分类Dev

ZF2-如何在模型中获取应用程序配置项?

来自分类Dev

如何在视图Yii中调用模型函数?

来自分类Dev

如何在视图Yii中调用模型函数?

来自分类Dev

如何获取跨组织运行的所有应用程序?

来自分类Dev

获取Rails中模型类型的所有记录的所有关联数据?

Related 相关文章

  1. 1

    Rails 4:如何在应用程序中的所有模型中添加列?

  2. 2

    如何在使用try / catch的应用程序中记录所有异常?

  3. 3

    如何在使用try / catch的应用程序中记录所有异常?

  4. 4

    如何在Rails应用程序中列出所有邮件程序

  5. 5

    如何在iOS中从我的应用程序获取所有消息传递应用程序列表

  6. 6

    如何在tomcat服务器中获取所有已部署的应用程序

  7. 7

    如何在列表中获取所有共享应用程序(安装在设备上)?

  8. 8

    如何在给定的角度应用程序中获取所有指令名称?

  9. 9

    如何在Angular应用程序中获取所有控制台错误消息

  10. 10

    如何在Ember.js 3.18中获取应用程序的所有路由列表?

  11. 11

    如何在列表中获取所有共享应用程序(安装在设备上)?

  12. 12

    如何在tomcat服务器中获取所有已部署的应用程序

  13. 13

    如何在Windows窗体应用程序中获取所有窗体

  14. 14

    如何在跑道应用程序中获取所有 FieldIds(即使某些字段为空)

  15. 15

    如何在TypeScript中获取函数应用程序的类型?

  16. 16

    如何从iOS中的应用程序获取所有消息传递应用程序列表

  17. 17

    如何在Rails控制台中获取模型的所有记录的计数

  18. 18

    如何在Rails控制台中获取模型的所有记录的计数

  19. 19

    如何在Rails 3.2应用程序中从具有不同键的两个模型创建数组?

  20. 20

    我应该如何从.NET MVC应用程序中的所有函数返回通用响应和响应代码?

  21. 21

    记录WinForms应用程序中的所有按钮单击

  22. 22

    如何在Rails应用程序中完全删除对application.js和application.css的所有引用?

  23. 23

    如何在Rails中为拼贴画接纳应用程序计划模型关系

  24. 24

    如何在Node应用程序中获取更多详细日志记录?

  25. 25

    ZF2-如何在模型中获取应用程序配置项?

  26. 26

    如何在视图Yii中调用模型函数?

  27. 27

    如何在视图Yii中调用模型函数?

  28. 28

    如何获取跨组织运行的所有应用程序?

  29. 29

    获取Rails中模型类型的所有记录的所有关联数据?

热门标签

归档