2012-03-06 3 views
0

나는 respond_to와 함께 이중 내용을 방지하려고합니다. 그래서 난 내 컨트롤러에 추가 :이 큰 지금까지, 엉덩이 그는 사용자가 여전히 사용하여 내 페이지에 액세스 할 수 있습니다 작동 respond_with와 함께 레일 3 respond_to : html 및 이중 내용 방지

respond_to :html 

중 하나

  • /내/페이지
  • /내/페이지/또는
  • /my/page.html 나는 (첫 번째를 선호) 중 하나에이를 제한하고 싶습니다

. 형식을 완전히 제거하는 것은 해결책이 아닙니다. 왜냐하면 언젠가는 json 또는 xml과 respond__with_with를 사용하기 때문입니다.

팁을 미리 보내 주셔서 감사합니다.

답변

0

이 작업을 수행하는 것은 매우 불쾌 할뿐만 아니라 사용자가 사용하기에 더 어려울 수 있습니다. 정말 그렇게해야 할 강력한 이유가 없다면 Rails 기본값으로 작업하고 하나의 리소스를 가리키는 많은 다른 URL이 있다는 사실을 받아 들일 것입니다. 그렇게하면 정말로 당신을 해치지 않아야합니다.

다시 말해서이 작업을 수행하지 않아야합니다. 그러나 정말로 원한다면 routes.rb를 사용하여 원하는 경로를 수동으로 만들 수 있습니다. 원하는 경로와 비슷한 Rails 경로를 생성하는 방법에 대한 자세한 내용은 Rails routing guide을 확인하십시오.

즉, 여전히 내/페이지/및 내/페이지를 지우는 데 충분하지 않을 수도 있습니다. 이것이 정말로 필요하다면 Rails를 완전히 삭제하고 Sinatra와 같은 다른 프레임 워크를 사용해 보도록하겠습니다. Sinatra에서는 라우팅에 대한 제어가 매우 세밀합니다 (프레임 워크가 전혀 라우팅 가정을하지 않기 때문에).

하지만 할 일은 경로를 그대로 받아 들여 계속 진행하는 것입니다.

+0

지금까지 고맙습니다. URL에 대한 유일한 걱정은 검색 엔진에서 콘텐츠를 이중 콘텐츠로 감지하거나 두 번 색인 할 수 있다는 것입니다. 하지만 나는 SEO에 대한 전문 지식이 없으므로 라우트를 제한하는 대신 표준 링크 요소를 만드는 것을 선호한다고 생각합니다. 다시 한번 감사드립니다. –