Ruby on Rails:按月对博客文章进行分组

2023-11-25

嘿伙计们。我使用常见的 CRUD 操作创建了一个简单的博客应用程序。我还在 PostController 中添加了一个名为“archive”的新操作和一个关联的视图。在此视图中,我想带回所有博客文章并按月对它们进行分组,以这种格式显示它们:

March
<ul>
    <li>Hello World</li>
    <li>Blah blah</li>
    <li>Nothing to see here</li>
    <li>Test post...</li>
</ul>

Febuary
<ul>
    <li>My hangover sucks</li>
    ... etc ...

我一生都无法找出最好的方法来做到这一点。假设 Post 模型具有通常的title, content, created_at等字段,有人可以帮我解决逻辑/代码吗?我对 RoR 很陌生,所以请耐心等待:)


group_by 是一个很棒的方法:

控制器:

def archive
  #this will return a hash in which the month names are the keys, 
  #and the values are arrays of the posts belonging to such months
  #something like: 
  #{ "February" => [#<Post 0xb5c836a0>,#<Post 0xb5443a0>],
  # 'March' => [#<Post 0x43443a0>] }
  @posts_by_month = Posts.find(:all).group_by { |post| post.created_at.strftime("%B") }
end

查看模板:

<% @posts_by_month.each do |monthname, posts| %>
<%= monthname %>
<ul>
   <% posts.each do |post| %>
     <li><%= post.title %></li>
   <% end %>
</ul>
<% end %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby on Rails:按月对博客文章进行分组 的相关文章

随机推荐

  • 具有 tf 数据集输入的 Tensorflow keras

    我是张量流 keras 和数据集的新手 谁能帮我理解为什么下面的代码不起作用 import tensorflow as tf import tensorflow keras as keras import numpy as np from
  • 每 60 秒调用一次函数

    Using setTimeout 可以在指定时间启动一个功能 setTimeout function 60000 但是如果我想多次启动该功能怎么办 每次经过一个时间间隔 我都会执行该函数 假设每 60 秒一次 如果您不关心代码是否在time
  • Task.WhenAll 不等待

    我正在学习如何在控制台应用程序中使用异步函数 但无法使 Task WhenAll 等到所有任务完成 下面的代码有什么问题 它同步工作 先感谢您 static void Main string args IncluiValores stati
  • 让阴影在 Three.js 自定义着色器中工作

    我正在尝试让阴影在 Three js 中的自定义着色器中工作 我尝试将这些添加到我的代码中 穿着制服 THREE UniformsLib shadowmap 在片段着色器中 THREE ShaderChunk shadowmap pars
  • 创建特定尺寸的绘图窗口

    如何创建具有特定宽度和高度 以像素等为单位 的新屏幕 R 绘图窗口 Use dev new See 这个相关问题 plot 1 10 dev new width 5 height 4 plot 1 20 更具体地说使用哪些单位 dev ne
  • 将对象从注入的页面脚本传递到内容脚本

    我正在编写一个 chrome 扩展 并且正在努力将对象从主页传递回内容脚本 我似乎无法访问窗口的变量 内容脚本 STORE DATA TO CHROME STORAGE ON EVENT create hidden input var hi
  • 带有 -weak_library /usr/lib/libSystem.B.dylib 链接器标志的 objc_setAssociatedObject 上的 EXC_BAD_ACCESS

    我有一个EXC BAD ACCESS当我打电话时objc setAssociatedObject使用链接器标志 weak library usr lib libSystem B dylib链接器标志 我绝对需要链接器标志 因为this 有人
  • PHP,HTML:自动提交表单[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 询问代码的问题必须对所解决的问题表现出最低限度的了解 包括尝试的解决方案 为什么不起作用以及预期结果 也可以看看 Stack Overflow 问题清单 有关您编写的代码的问题必须描
  • 附加文本未在 d3 v4 中显示

    我正在尝试 翻译 平行坐标示例到新版本的 d3 v4 我有一个使用此 javascript 的工作示例 如果有人尝试使用 d3 的 v4 并对新功能有问题 这也是一个很好的示例 var margin top 30 right 10 bott
  • 如何让 jQuery 等待 Ajax 调用完成后再返回?

    我有一个需要登录的服务器端功能 如果用户登录 该函数将在成功时返回 1 如果没有 该函数将返回登录页面 我想使用 Ajax 和 jQuery 调用该函数 我所做的就是使用普通链接提交请求 并在其上应用点击功能 如果用户未登录或函数失败 我希
  • 是否有可以检查表情符号的特定范围的 unicode 代码点?

    表情符号是否占据明确定义的 unicode 范围 并且 在 python 2 7 中是否有确定的方法来检查代码点是否是表情符号 我似乎找不到这方面的任何信息 有几个消息来源指出了这个范围 U0001f600 U0001f650 但例如 有代
  • 即使使用 ChangeDetectionStrategy.OnPush 也会调用 Angular ngDoCheck()

    可以说我有一个像这样的组件结构 AppComponent HeaderComponent ContentComponent TodosComponent TodoComponent 如果我设置 HeaderComponent 的change
  • 从 BGL 图中提取邻接矩阵

    使用Boost图库我正在寻找一种方法提取邻接矩阵来自由以下任一表示的基础图boost adjacency list or boost adjacency matrix 我想结合使用这个矩阵boost numeric ublas求解联立线性方
  • 如何在 shell 中以可移植的方式在第一个空行上分割文件(例如使用 sed)?

    我想将包含 HTTP 响应的文件拆分为两个文件 一个仅包含 HTTP 标头 另一个包含消息正文 为此 我需要在第一个空行上将文件分成两个 或者对于仅包含 CR 的第一行的 UNIX 工具 r 字符 使用外壳脚本 如何以可移植的方式执行此操作
  • 错误 android SurfaceFlinger

    我有这个错误消息 SurfaceFlinger 半透明 0 isOpaque 1 isExternalDisplayLayer 0 isExternalBlockLayer0 我使用的是安卓4 1 1 我无法说出我的代码的哪一部分正在生成此
  • 使用 Watir 检查坏链接

    我有一个无序列表的链接 我保存在一边 我想单击每个链接并确保它转到真实页面 而不是 404 500 等 问题是我不知道该怎么做 是否有一些我可以检查的对象可以为我提供 http 状态代码或其他内容 mylinks Browser ul id
  • Android 中具有动态 ActionBar 颜色的半透明 StatusBar

    我正在尝试实现一个半透明的状态栏 以便我的导航视图是BEHIND状态栏 但仍然喜欢动态更改操作栏的颜色 因此 状态栏颜色需要更改为操作栏颜色的较暗版本 如果我将状态栏设置为透明 正如许多消息来源所建议的那样 我的 Primary dark
  • 如何编写多行命令?

    我们如何将命令扩展到下一行 基本上 Linux 的 Windows 替代品是什么 ls l usr 这里我们使用反斜杠将命令扩展到下一行 Windows 的等效项是什么 尝试了键盘上的几乎每个键后 C Users Tim gt cd Meh
  • 在 C# 中递归打印斐波那契字符串

    可以不用 while 循环来完成吗 static void Main string args Console WriteLine Please enter a number int number Convert ToInt32 Consol
  • Ruby on Rails:按月对博客文章进行分组

    嘿伙计们 我使用常见的 CRUD 操作创建了一个简单的博客应用程序 我还在 PostController 中添加了一个名为 archive 的新操作和一个关联的视图 在此视图中 我想带回所有博客文章并按月对它们进行分组 以这种格式显示它们