这是继承的情况吗?
我有 Rails 模型 User
、ReadingList
和 SessionReadingList
。一个用户有很多阅读列表。 SessionReadingList
是一种特殊类型的阅读列表,用于在用户注册之前存储在会话中。
在我的 ReadingListsController
中,每个操作的形式如下:
def show
if current_user
#load user's reading lists
else
#load session reading list from session
end
end
我想知道是否最好将 ReadingListsController
子类化,所以我有 SessionReadingListsController
和UserReadingListsController
。但我不知道如何处理路由。
那么,子类化是解决方案吗?如果是这样,我是否根据 current_user
从 ReadingListsController
进行重定向?或者有更好的方法吗?
I have Rails models User
, ReadingList
and SessionReadingList
. A user has many reading lists. A SessionReadingList
is a special type of reading list for before a user has registered, stored in the session.
In my ReadingListsController
every action is of the form:
def show
if current_user
#load user's reading lists
else
#load session reading list from session
end
end
I'm wondering whether I'd be better off subclassing ReadingListsController
so I have e.g. SessionReadingListsController
and UserReadingListsController
. I don't know how I'd handle the routing then though.
So, is subclassing the solution? If so, do I redirect from the ReadingListsController
depending on current_user
? Or is there a better way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以创建使用适当控制器的自定义路由匹配器。
You can create a custom route matcher that uses the appropriate controller.