Rails의 수금 경로와 회원 경로의 차이점은 무엇입니까?
예를 들어
resources :photos do
member do
get :preview
end
end
대
resources :photos do
collection do
get :search
end
end
이해가 안 돼요
Rails의 수금 경로와 회원 경로의 차이점은 무엇입니까?
예를 들어
resources :photos do
member do
get :preview
end
end
대
resources :photos do
collection do
get :search
end
end
이해가 안 돼요
답변:
그것은에 작용하기 때문에 회원 경로, ID를 필요로 멤버 . 컬렉션 라우트는 개체 컬렉션에 작용하기 때문에 아닙니다. 미리보기는 단일 경로에 작용하고 표시하기 때문에 멤버 경로의 예입니다. 검색은 개체의 컬렉션에 작용하고 표시하기 때문에 컬렉션 경로의 예입니다.
URL Helper Description
----------------------------------------------------------------------------------------------------------------------------------
member /photos/1/preview preview_photo_path(photo) Acts on a specific resource so required id (preview specific photo)
collection /photos/search search_photos_path Acts on collection of resources(display all photos)
search_photos_path
대신 search_photos_url
사람들이 생각하지 않도록 _path
하고 _url
둘 사이에 차이가 있습니다.
1) : collection-컬렉션 에서 작동하는 다른 작업에 대한 명명 된 경로를 추가합니다. 메소드가 중요하지 않은 경우 #{action} => #{method}
method is :get/:post/:put/:delete
, 이전의 배열 또는 : any 의 해시를 사용 합니다. 이 경로 는 customers_list_users_url 경로와 함께 / users / customers_list 와 같은 URL에 매핑됩니다 .
map.resources : users, : collection => {: customers_list => : get}
2) :member
-와 동일 :collection
하지만 특정 멤버에서 작동하는 작업의 경우.
map.resources : users, : member => {: inactive => : post}
그것은로 취급 /users/1;inactive=> [:action => 'inactive', :id => 1]