IT TIP

: 레일 route.rb에서와 같이

itqueen 2020. 12. 11. 21:09
반응형

: 레일 route.rb에서와 같이


에서는 config/routes.rb두 가지를 모두 시도했습니다.

root :to => 'things#index', :as => 'things'

root :to => 'things#index'

를 누르면 http://localhost:3000/두 가지 접근 방식이 모두 작동하며 아무것도 달라 보이지 않습니다.

어떤 :as옵션이 사용됩니까?


: as 옵션은 명명 된 경로를 형성합니다.

일반적으로 루트가 아닌 경로에서 사용됩니다. 예를 들면 :

match '/search' => 'search#search', :as => 'search' # SearchController#search

그런 다음 다음과 같이 할 수 있습니다.

<%= link_to search_path, 'Click Here to Search!' %>

search_pathsearch_url때문에의 정의:as

루트 경로를 들어, 당신은 정말 필요하지 않습니다 :as하여 URL 헬퍼 때문에 root_pathroot_url레일에 의해 당신을 위해 정의된다.


Rails 4와 호환됩니다.

path_to_your_app/config/routes.rb

get "/profile/edit" => "users#profile_edit", :as => "edit_me"

루비 2.0부터 다음을 사용할 수 있습니다.

get "/profile/edit", to: "users#profile_edit", as: "edit_me"

path_to_your_app/app/views/**in필요한보기

<%= link_to "Edit profile", edit_me_path %>

match필요한지 확실 하지 않은 경우 사용하지 마십시오 .

다음 패턴에서 사용할 때 취약점을 생성합니다.

match ':controller/:action/:id'

문서에서 :

matchHTTP 메서드를 지정하지 않고 라우터 에서 메서드를 사용해서는 안됩니다 . 작업을 GET 및 POST 모두에 노출하려면 via : [:get, :post]옵션을 추가하십시오 . 작업을 GET에 노출하려면 라우터에서 get을 사용하십시오.

대신에: match "controller#action"

하다: get "controller#action"

자세히 알아보기 :

경기 정보

http://github.com/rails/rails/issues/5964

경로 매핑 정보

http://apidock.com/rails/v4.0.2/ActionDispatch/Routing/Mapper/Base/match

http://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Base.html

일반적인 경로 정보

http://api.rubyonrails.org/classes/ActionDispatch/Routing.html


:as옵션은 명명 된 경로를 만듭니다. 그런 다음 컨트롤러 및 뷰에서이 경로를 호출 할 수 있습니다 (예 :) redirect_to things_path. 이미 이름이 지정된 루트 경로에는별로 유용하지 root않지만 추가하는 새 경로에는 매우 유용합니다.

참고 URL : https://stackoverflow.com/questions/4696229/as-in-rails-routes-rb

반응형