在我的应用中,用户用于身份验证阶段,并且通过多态性has_one关联,它将与不同类型的用户关联,并具有不同的操作。
这是用户模型:
class User < ApplicationRecord
has_secure_password
validates :username, presence: true,
uniqueness: true
belongs_to :role, :polymorphic => true, dependent: :destroy
end
这是关联的模型之一
class Guest < ApplicationRecord
has_one :user, as: :role
end
登录和身份验证调用home_index_path,当前用户存储在current_user中。
在家庭控制器中,我有:
def index
if current_user
redirect_to current_user.role
else
render 'unlogged'
end
end
在route.rb中,我有:
resource :guest do
member do
get 'dashboard'
end
end
resolve ('Guest') {[:guest]}
现在出现问题:假设用户是来宾,通过这种方式,我被重定向到show
的方法GuestsController
,但是我需要将其重定向到方法dashboard
。
我该怎么办?
答案 0 :(得分:0)
好的,我已经解决了polymorphing_path
redirect_to polymorphic_path([:dashboard, current_user.role])