gpt4 book ai didi

ruby - Rails 3 - 更灵活的 time_ago_in_words

转载 作者:太空宇宙 更新时间:2023-11-03 17:36:48 24 4
gpt4 key购买 nike

我认为:Due <%= time_ago_in_words(todo.due) %>

但与 time_ago_in_words 的大多数用例不同,我需要支持 time AGO 和 time AHEAD。由于截止日期可能已过期(时间前)和即将到来(提前时间),我如何有条件地显示此日期,所以如果它已过期,上面的代码将输出“Due x days ago”,如果它在未来到期输出“x 天内到期”?

最佳答案

从它的外观来看,您正在使用 erb 模板引擎,您可以通过省略 = 符号来在 View 逻辑中执行 if 条件,因此您可以执行类似的操作

<% if time_ago < Time.now %>
<%= time_ago_in_words(todo.due) %>
<% else %>
<%= time_ahead_in_words(todo.due) %>
<% end %>

应该让您知道该怎么做。尽管我相信更好的做法可能是将其移至 Rails 应用程序的模型部分。我的公理是 Fat Models skinny controllers,但这是比规则更多的建议。

编辑

Alex 在下面的评论中是否提到过,这可能应该放在辅助方法中,而不是应用程序的模型部分

关于ruby - Rails 3 - 更灵活的 time_ago_in_words,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14044144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com