我想保留通常会被销毁的旧记录。例如,用户加入了一个项目,但后来被踢出。我想保留 user_project 记录,其中包含将记录标记为非活动的内容。为此,我在每个模型中使用状态属性来定义每个记录的当前状态。
几乎我所有的“查询”都只需要“活动”记录,状态 == 1 的记录,我想使用 ActiveRecord 助手(find_by 等)。我不想添加到所有“find_by”中,我使用“_and_state”来仅查找活动的记录。
这就是我现在所拥有的:
u = UserProject.find_by_user_id_and_project_id id1, id2
这就是我对所有模型的每个这样的查询都会有的:
u = UserProject.find_by_user_id_and_project_id_and_state id1, id2, 1
实现这一点的最简洁的方法是什么(状态维护和更简洁的查询代码)?