创建ActiveRecord模型属性以在View中使用

时间:2011-04-28 00:55:56

标签: ruby-on-rails ruby-on-rails-3 activerecord

我无法相信我甚至不得不问这个问题,但这是“那些日子之一”,我根本无法直接思考。

我正在使用MySQL数据库中的数据创建一个简单的Rails应用程序。在其中一个表中,有一列用于创建时间戳(creation_ts)。我想要做的是创建一个模型属性,该属性成为每个模型对象的一部分。在这种情况下,如果记录的创建时间戳超过一个月,我希望它将“late”属性设置为true(如果不是则为false)。然后我可以在动态设置HTML元素属性时在视图中使用它。

同样,我应该知道这一点(事实上,我之前已经完成了)我只是画了一个完整的空白。

1 个答案:

答案 0 :(得分:2)

Rails 3使用'created_at'来存储第一次保存的日期。在你的模型中,比如Model.rb,你可以添加一个后期访问器,定义如下:

def late?
    created_at > 1.month.ago
end

将返回true或false。

然后在您的观看中,您可以执行类似

的操作
<% if @model.late? %>
  <%= @model.something_to_show %>
<% end %>

伊恩。