这次来看active_support/core_ext/enumerable.rb里的group_by:
# latest_transcripts.group_by(&:day).each do |day, transcripts|
# p "#{day} -> #{transcripts.map(&:class) * ', '}"
# end
# "2006-03-01 -> Transcript"
# "2006-02-28 -> Transcript"
# "2006-02-27 -> Transcript, Transcript"
# "2006-02-26 -> Transcript, Transcript"
# "2006-02-25 -> Transcript"
# "2006-02-24 -> Transcript, Transcript"
# "2006-02-23 -> Transcript"
看看视频中的例子:
class TasksController < ApplicationController
def index
@tasks = Task.find(:all, : order => 'due_at, id', :limit => 50 )
@task_months = @tasks.group_by { |t| t.due_at.beginning_of_month }
end
end
我们对@tasks的due_at.beginning_of_month做group_by,看看页面中的使用:
<h1>Tasks</h1>
<% @task_months.keys.sort.each do |month| %>
<h2><%= month.strftime('%B') %></h2>
<% for task in @task_months[month] %>
<div class="task">
<strong><%= task.name %></strong>
due on <%= task.due_at.to_date.to_s(:long) %>
</div>
<% end %>
<% end %>
分享到:
相关推荐
:fire: 设计精美的管理面板(Nodejs、Laravel、Java Spring、Ruby On Rails、Django、Asp.net Core ...) :motor_scooter: :motor_scooter: :motor_scooter: :vertical_traffic_light: Vespa 不是 CMS 或博客平台,...
持续移动且不破坏事物 :factory: :building_construction: :construction: :construction_worker: 正在建设中-请稍后再回来!
允许您使用为Rails应用程序的前端供电。 是将前端工具像Ruby一样进行编程,纯属喜悦! :smiling_face_with_heart-eyes: 或在运行的检查。 产品特点 :high_voltage: :light_bulb: 即时服务器启动 :high_voltage: ...
:dog_face: MiAudota :cat_face: 该应用程序显示可从用户最近的庇护所获取的动物,并允许将其应用到收养过程中,从而完成一份调查表,... Ruby on Rails API; PostgreSQL; Heroku。执照版权所有:copyright:2019, 。
介绍插件,用于对记录进行排序(使用 gem)安装要启用rails_admin_acts_as_list,请将以下内容添加到您的Gemfile : gem 'rails_admin_acts_as_list'gem 'rails_admin' 重要提示: rails_admin_acts_as_list之前必须...
Rails的服务器定时响应头 带来Ruby on Rails服务器端性能指标 :chart_increasing: 通过server_timing gem访问Chrome的开发者工具(以及其他支持浏览器)。 生产安全:trade_mark:。 指标是从 gem收集的。 不需要帐户...
graphql-rails-generators 一些生成器可以轻松将Rails模型与集成。 我之所以创建它,是因为我浪费了太多的按键来手动复制模型架构以创建graphql类型。 该项目包含用于查看ActiveRecord模型架构的生成器,并为您...
预配置的 Ruby On Rails 样板可提供即时生产力 :high_voltage: :nerd_face: 项目背后的动机 我经常不断尝试使用 Ruby On Rails 作为我选择的技术堆栈来解决的想法和问题。 但是,我发现自己在每个新项目中都按照...
factory_bot_rails 用简单的定义语法替换了固定装置,支持多种构建策略(保存的实例,未保存的实例,属性哈希和存根对象),并且支持同一类的多个工厂( user , admin_user等),包括工厂继承。 从factory_girl_...
| | | 电子邮件仪表板是一种从应用程序管理外发电子邮件的简便方法。 从创建和发送电子邮件到监视和管理其统计信息,您可以使用Email-Dashboard做真正有用的事情,而不必担心时区浪费。 您可以 :link: 。...
simple_postmark simple_postmark 使使用 Rails 的 ActionMailer 通过 :trade_mark: 发送邮件变得容易。目录关于simple_postmark 的创建是因为官方缺乏适当的 Rails API 支持。 那是在 2011 年,邮戳宝石从那时起为...
Rails-Mini-Social-Network用Rails创建的迷你社交网络! 不再维护。 其他版本React版本Vue版本Golang版本快速链接屏幕截图用法Scree Rails-Mini-Social-Network一个由Rails创建的迷你社交网络! 不再维护。 另一个...
Ruby on Rails的启动时间助推器,延迟加载整个血腥路由,因此应用程序可以快速启动:sign_of_the_horns:route_lazy_routes route_lazy_routes是一个邪恶的Rails插件,它延迟加载整个血腥路由,直到服务器获得第一个...
Ruby_full: RoR_Full_29 :: Ruby_reports 涵盖了全面的Ruby on Rails(RoR)开发中的报告生成技术。Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,而Ruby on Rails是基于Ruby构建的一个开源Web应用框架...
建立 运行以下命令以启动并运行该应用程序。 $ docker-compose up 该应用程序的后端将在localhost:3020上运行。 该应用程序的前端将在localhost:4020上运行。
默认引导程序3 rails_admin主题的现代替代。 它提供新闻颜色,调整和全新的树状视图菜单。 您可以将其派生并根据需要更改variables.scss ! 宝石文件 gem 'rails_admin_rollincode' , '~> 1.0' gem 'rails_admin'...
Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...
rails_best_practices rails_best_practices是用于检查Rails代码质量的代码度量工具。 它支持以下ORM / ODM: 活动记录 蒙古型 mongomapper 以及以下模板引擎: erb 哈姆 减肥 拉布尔 rails_best_practices...
Ruby on Rails(简称Rails)是一种基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和代码的可读性。MySQL则是一款广泛使用的开源关系型数据库管理系统,以其高效...
让我们再次加快Rails页面的速度 :horse: render_async可以使您的页面向用户更快地显示。 通过将部分视图呈现给视图,页面可以无缝无缝地变得更快。 局部渲染是异步的,它使用户比常规渲染更快地查看您的页面。 ...