让我们说1月1日至1月31日是一个名为Musiczilla的音乐节。
用户可以参加活动并指定他们将在那里的日期
帖子可以是一般的事件,也可以是关于帖子用户特定时间的事件。
所以
在我的模型和控制器中处理此问题的最佳方法是什么?
答案 0 :(得分:0)
这是一个快速尝试:
class Post
attr_accessible :general
belongs_to :event, :user
def self.visible_to_user(viewing_user)
joins(:user).
where(general: true).
where(
"(general = false AND (users.start_date <= ?) AND (users.end_date >= ?)) OR general = true",
viewing_user.end_date,
viewing_user.start_date
)
end
end
class User
attr_accessible :start_date, :end_date
end
class Event
attr_accessible :start_date, :end_date
end
查询有点难看。