我有一个Post对象,我在局部渲染,其中一个元素是
= post.created_at
我想格式化时间,所以我尝试在部分和作为模型钩子中使用strftime的变体。
= post.created_at.strftime('etc etc')
&
= post.formatted_time
当有东西要呈现时,这些工作正常,但是当没有一组帖子时,呈现页面时出错:
undefined method `strftime' for nil:NilClass
只有第一个在没有帖子时才有效,并在页面上创建一个空的post div。
我需要在模型或模板中做一些事情,以便在它为空时捕获并且不渲染任何内容,这似乎是基本的,但我还没有找到正确的搜索术语来找到我理解要实现的内容。
我发布这个,所以有人可能会帮助我思考到目前为止我所做的事情。基本上我需要格式化时间,我可以做但只有在没有格式化时才能捕捉。
答案 0 :(得分:2)
在Rails中,您始终可以使用try
,仅当created_at不是nil时才会运行该方法:
= post.created_at.try(:strftime, 'etc etc')