Ruby on Rails中,如何通过视图部分实现范围查询的长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计343个文字,预计阅读时间需要2分钟。
我一直在使用示波器来展示一些信息,显示任务已完成,并等待24小时的待办事项。范围:已完成的任务,加入(用户)。其中,待办事项已标记为完成,日志记录的已完成的待办事项更新时间在1天前。使用常用语句。
我一直在使用示波器来展示一些信息,以显示已经完成并且24小时的待办事项scope :completed, joins(:user).where(:todos => { :complete => true }) scope :logged, completed.where("todos.updated_at <= ?", 1.day.ago)
使用常规todo部分
<%= render @user.todos.logged =>
但是,我想在不同的部分_logged.html.erb中显示这些记录的项目.我只是无法弄清楚将范围结果传递给特定部分的正确方法.
谢谢
好吧,如果你想为每个项目渲染部分,你可以这样做:<%=render :partial=> 'logged', :collection=>@user.todos.logged %>
或者,如果您想将整个数组传递给一个实例,那么您可以这样做
<%=render :partial=> 'logged', :object=>@user.todos.logged %>
在这两种情况下,我猜你的对象将被调用记录.
假设您的部分包含<%= logged.title%>您想为每个项目渲染,因此您可以使用第一个版本.
本文共计343个文字,预计阅读时间需要2分钟。
我一直在使用示波器来展示一些信息,显示任务已完成,并等待24小时的待办事项。范围:已完成的任务,加入(用户)。其中,待办事项已标记为完成,日志记录的已完成的待办事项更新时间在1天前。使用常用语句。
我一直在使用示波器来展示一些信息,以显示已经完成并且24小时的待办事项scope :completed, joins(:user).where(:todos => { :complete => true }) scope :logged, completed.where("todos.updated_at <= ?", 1.day.ago)
使用常规todo部分
<%= render @user.todos.logged =>
但是,我想在不同的部分_logged.html.erb中显示这些记录的项目.我只是无法弄清楚将范围结果传递给特定部分的正确方法.
谢谢
好吧,如果你想为每个项目渲染部分,你可以这样做:<%=render :partial=> 'logged', :collection=>@user.todos.logged %>
或者,如果您想将整个数组传递给一个实例,那么您可以这样做
<%=render :partial=> 'logged', :object=>@user.todos.logged %>
在这两种情况下,我猜你的对象将被调用记录.
假设您的部分包含<%= logged.title%>您想为每个项目渲染,因此您可以使用第一个版本.

