ruby-on-rails-5 - Rails Polymorphing has_one 关联 redirect_to 控制器
问题描述
在我的应用程序中,用户用于身份验证阶段,并且通过多态 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]}
现在的问题:假设用户是guest,这样我被重定向到 method show
of GuestsController
,但我需要重定向到 method dashboard
。
我能怎么做?
解决方案
好的,我已经用 polymorphing_path 解决了
redirect_to polymorphic_path([:dashboard, current_user.role])
推荐阅读
- gridview - 单击下一页时Gridview正在清除
- jenkins - jenkins 在特定代理/节点上执行 shell
- ruby-on-rails - HTTPParty 文件上传
- javascript - 列表项组件未在反应 js 中的状态更改时更新
- vue.js - 子路由中的 vue-router 命名视图不起作用
- php - 从表单获取数据的 SQL 更新查询未运行
- wso2 - 在 WSO2 EI 6.4 中批量导入注册表工件
- python - 无法使用 api 在 Jira 中创建项目,每当我尝试运行此脚本时都会收到 400 错误代码。谁能帮我解决这个问题
- javascript - 修复错误:无法读取未定义的属性“路径”
- python - 如何使用“--”标志运行 Anaconda Powershell 命令