Ruby on rails 两种不同类型的用户希望查看相同的路由,但期望不同的回报
我有两种不同类型的用户希望使用相同的RESTful路由。我在用户和配置文件之间存在多态关联,这两种类型的配置文件是Ruby on rails 两种不同类型的用户希望查看相同的路由,但期望不同的回报,ruby-on-rails,Ruby On Rails,我有两种不同类型的用户希望使用相同的RESTful路由。我在用户和配置文件之间存在多态关联,这两种类型的配置文件是PatientProfile和DoctorProfile。我想做的是为两种用户类型提供一种干净的方法,使它们能够使用相同的控制器操作 class User belongs_to :profile, polymorphic: true class PatientProfile has_one :user, as: :profile class DoctorProfile
PatientProfile
和DoctorProfile
。我想做的是为两种用户类型提供一种干净的方法,使它们能够使用相同的控制器操作
class User
belongs_to :profile, polymorphic: true
class PatientProfile
has_one :user, as: :profile
class DoctorProfile
has_one :user, as: :profile
我有一个评论
模型
# reviews_controller.rb
def index
# for patients this would be all reviews they wrote
# for doctors it would be all reviews about them
current_user.reviews
end
我已经注意到运行用户的所有内容,而不是配置文件,因为我认为它会更干净。但是现在我认为current\u user
方法应该真正返回配置文件,而不仅仅是用户。然后,应在各自的概要文件模型中进行所有关联
我的问题:我是以正确的方式思考这个问题,还是我遗漏了什么?我查看了
CanCanCan
和Pundit
,但两者似乎都是为了允许特定的操作,而我试图根据请求者返回不同的信息 我觉得这个不错。问题是什么?除了他们的名字以外,这些档案是否完全相同?@Ninigi不完全相同。例如,一个医生有一个:专科医生。患者有一个:保险
,而医生有多个:接受保险