我正在玩(自学)轨道,我正在使用以下代码
class HomeController < ApplicationController
def index
if user_signed_in?
redirect_to :controller=>'dashboard', :action => 'index'
end
end
end
作为上述代码的结果,当用户登录时,他们会被重定向到“仪表板”(这很棒),但他们无法访问主页。我怎样才能解决这个问题 ?我仍然是ruby / rails的新手,所以仍然适应语法等。
谢谢。
答案 0 :(得分:0)
你做错了。您正在将登录用户的所有请求重定向到仪表板页面。因此,任何登录用户在尝试访问主页时都会被重定向到仪表板页面。您需要做的是当用户通过设备登录时,您已将其重定向到仪表板。请检查this。
示例代码:
def after_sign_up_path_for(resource)
signed_in_root_path(resource)
end
希望它有所帮助。
答案 1 :(得分:0)
仅在登录后将所有登录用户重定向到仪表板索引:
class ApplicationController < ActionController::Base
protect_from_forgery
def after_sign_in_path_for(resource)
sign_in_url = url_for(:action => 'index', :controller => 'dashboard')
end
end