우선, 정말로, 정말로, 응용 프로그램을 매우 취약하게 만들므로 GET 만해서는 안됩니다. 나는 실제 질문에 대한 해답을 처음부터하지 말아야하는 이유에 대해 한 가지 더 예를들 수있다.
경로를 조금 더 건조하게 만들려면 별도의 모듈에서 맞춤 경로 도우미를 만들어 사용할 수 있습니다. 당신의 RAILS_ROOT/lib
폴더에 route_helpers.rb
을 만들어 시작 후이 같은 보이게 :
class ActionDispatch::Routing::Mapper
def my_resources(*args)
args.each do |res|
get "#{res}/create"
get "#{res}/update"
get "#{res}/new"
get "#{res}/edit"
get "#{res}/destroy"
end
end
end
을 그리고 당신은이처럼 routes.rb에서 경로를 사용할 수 있습니다
require 'route_helpers'
AppName::Application.routes.draw do
my_resources :brands
end
하지 않으며, 내 예와 같이 route_helpers를 요구하는 것을 잊어 버리십시오.
이제는 안됩니다. 내보기에서 좋아해요. 나는 자신을 반복하지 않는 것이 좋다는 데 동의하지만 표준 자원이 경로를 생성하는 이유가 있습니다. GET은 읽기 전용이며, 레코드를 작성하고 업데이트하지 않으며 확실하게 파괴하지 않습니다.
링크를 만들어 항목을 파괴하면 검색 엔진이 색인을 생성하기 위해 사이트 크롤링을 시작하면 get 명령 및 BAM ... 링크가 링크를 따라 이동하고 레코드가 삭제됩니다. 사이트에 로그인하여이를 방지하려면 사용자가 로그인 한 다음 다른 탭에서 img 태그가있는 페이지를 방문하여 yourdomain.com/brands에 src를 설정하면 발생할 수 있습니다/destroy 그런 다음 로그인 한 세션이있는 사용자 브라우저가 이미지를 가져 와서 다운로드하려고 시도하고 BAM ..... 레코드가 다시 삭제됩니다.
이것은 단지 몇 가지 예이지만, GET 프로토콜을 이런 식으로 사용하지 마십시오.
왜 GET을 사용해야합니까? – Bohdan
차이점은 무엇입니까? 어쨌든 나는 자원을 사용할 수 없다. – zishe
'GET 만 사용하고'GET/POST '를 사용하는 것의 차이점은 낙하산없이 하나를 가지고 스카이 다이빙을하는 것과 거의 같습니다 : – Bohdan