: 레일 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_path
및 search_url
때문에의 정의:as
루트 경로를 들어, 당신은 정말 필요하지 않습니다 :as
하여 URL 헬퍼 때문에 root_path
와 root_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'
문서에서 :
match
HTTP 메서드를 지정하지 않고 라우터 에서 메서드를 사용해서는 안됩니다 . 작업을 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
'IT TIP' 카테고리의 다른 글
다른 방법은 없습니다. (0) | 2020.12.11 |
---|---|
Android : '위치'유형의 변수를 초기화하는 방법 (null과 동일하게 만드는 것 제외) (0) | 2020.12.11 |
C#'s equivalent of Java's in generics (0) | 2020.12.11 |
tmux 상태 표시 줄 구성 (0) | 2020.12.11 |
PostgreSQL“클러스터”란 무엇이며 어떻게 생성합니까? (0) | 2020.12.11 |