Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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_Devise_Routes - Fatal编程技术网

Ruby on rails 轨道路线:作为闭塞和闭塞设备

Ruby on rails 轨道路线:作为闭塞和闭塞设备,ruby-on-rails,devise,routes,Ruby On Rails,Devise,Routes,根据Deviate文档,我们可以使用以下内容覆盖默认会话路径: as :user do get 'login', to: 'users/sessions#new', as: :new_user_session post 'login', to: 'users/sessions#create', as: :user_session delete 'logout', to: 'users/sessions#destroy', as: :destroy_user_session en

根据Deviate文档,我们可以使用以下内容覆盖默认会话路径:

as :user do
   get 'login', to: 'users/sessions#new', as: :new_user_session
   post 'login', to: 'users/sessions#create', as: :user_session
   delete 'logout', to: 'users/sessions#destroy', as: :destroy_user_session
end 
这将生成以下路由:

Helper Path                   URL        Controller
new_user_session_path        /login      users/sessions#new
user_session_path            /login      users/sessions#create
destroy_user_session_path    /logout     users/sessions#destroy
但是,如果不将定义的路径包装在
as块
设计范围
块(如下面的块)中,我们将生成相同的精确路径

get 'login', to: 'users/sessions#new', as: :new_user_session
post 'login', to: 'users/sessions#create', as: :user_session
delete 'logout', to: 'users/sessions#destroy', as: :destroy_user_session

我的问题是,为什么我们甚至需要
作为块
/device\u作为块?为什么不直接定义它呢?
as块的功能和好处是什么?

designe的RESTful路由看起来像:
designe\u for:users…

在任何情况下,
as
等同于
设计范围
one,它们是为指定自定义路线而设计的


这是关于这个问题的答案。

是的,我知道它们用于指定自定义路线。我的问题是,如果
as
块产生相同的结果,即使我没有将其包装在
as
块中,为什么还要将其包装在
as
块中block@Tikiboy因为在r/ror中,您可以通过不同的方式实现目标。但是我认为,
as
更具可读性,而且:@MichaelArkhipov-你是说它纯粹是装饰性的。这不是一个很令人满意的答案。