В моем приложении пользователь используется для фазы аутентификации, и с полиморфной ассоциацией 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
.
Как мне это сделать?