假设我有一个Statement
模型,其中has_many :months
. 一个语句总是有 12 个月,但第一个月可能会有所不同(例如,月份 = [Mar, Apr, May...Jan, Feb])
给定某个月份,找到上个月的 MVC 方法是什么?
我发现自己通过statement
which 感觉很脏来访问它:
# statement.rb
has_many :months
def previous_month(month)
if months.index(month) == 0
return nil
else
return months[months.index(month) - 1]
end
end
# blergh
prev_month = month.statement.previous_month(month)
我应该在我的数据库中有一个previous_month_id
列吗?您将如何实现此功能?我正在使用 Rails 2.3.x
。