Ruby on rails 这是反模式还是可以?

Ruby on rails 这是反模式还是可以?,ruby-on-rails,Ruby On Rails,我有如下几点: exercise.log_entries.for_user(@user).for_date(date) 这真的是Rails的糟糕代码吗?我无法执行@user.log\u条目,因为它需要限定到特定练习的范围 这算是好事还是坏事?您将如何重构?如果您将其用于访问控制,那么我会说它可能有点臭,尽管我不会对此大声抱怨。令人担忧的是,不使用访问控制意味着未来的重构可能会破坏这些控制,这至少会令人尴尬 你们的协会是如何建立的?这样的事情可能吗 @user.log_entries.for_e

我有如下几点:

exercise.log_entries.for_user(@user).for_date(date)
这真的是Rails的糟糕代码吗?我无法执行@user.log\u条目,因为它需要限定到特定练习的范围


这算是好事还是坏事?您将如何重构?

如果您将其用于访问控制,那么我会说它可能有点臭,尽管我不会对此大声抱怨。令人担忧的是,不使用访问控制意味着未来的重构可能会破坏这些控制,这至少会令人尴尬

你们的协会是如何建立的?这样的事情可能吗

@user.log_entries.for_exercise(exercise).for_date(date)

是的,当然。所以最好先从用户开始?基本上是一样的,只是颠倒过来了。。。与其说它是访问控制,不如说它是在迭代中确定范围。锻炼一下。然后是“锻炼”\u“锻炼”,它唯一地将锻炼范围限定为与用户关联的锻炼,然后用户有针对该锻炼的日志条目。