Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 设计路线的最佳实践?_Ruby On Rails_Ruby_Devise - Fatal编程技术网

Ruby on rails 设计路线的最佳实践?

Ruby on rails 设计路线的最佳实践?,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我有两种型号,用户和供应商 我有!在其受尊敬的控制器中验证{model} 尽管如此,我的路线如下所示: authenticated :user do get 'company/dashboard' => 'company_dashboard#dashboard' ... root :to => 'company_dashboard#dashboard' end authenticated :vendor do get 'vendor

我有两种型号,用户和供应商

我有
!在其受尊敬的控制器中验证{model}

尽管如此,我的路线如下所示:

  authenticated :user do
    get 'company/dashboard' => 'company_dashboard#dashboard'
    ...
    root :to => 'company_dashboard#dashboard'   
  end

  authenticated :vendor do
    get 'vendor/dashboard' => 'vendor_dashboard#dashboard'
    ...
    root :to => 'vendor_dashboard#dashboard'   
  end

  root :to => 'home#index'
现在,当会话过期且页面被重新加载时,它会给出路由错误
no route mathes GET company/dashboard
,并且不会执行重定向

这样设置路线是错误的吗

当我删除
authenticated:{modelname}do
时,它与重定向一样工作

什么时候使用
authenticated:{modelname}do
best case场景?用于在登录后生成页面?还有别的吗


我应该用
认证:{modelname}do
的方式保存它吗?是否有一种方法可以根据需要启动重定向?

我将定义
get'company/dashboard'=>“company\u dashboard\35; dashboard”
get'vendor/dashboard'=>“vendor\u dashboard\35; dashboard”
块之外的路由。正在使用
验证的do。。。end
创建动态根路径是有意义的,但不适用于具有路径的实际路由。授权不是路由层的工作,因为未经授权的访问被视为404,而不是重定向到登录。好的,谢谢,这很有意义。我想在应用它之前确认一下。谢谢你!