모델의 기본 라우팅 도우미를 무시해야하는 어플리케이션을 작성 중입니다. 그래서 Model/Model/[id]를 생성하는 model_path()라는 헬퍼를 가진 Model이라는 모델이 있다면. "/something/[model.name]"을 생성하도록 헬퍼를 재정의하고 싶습니다. 보기 도우미에서이 작업을 수행 할 수 있지만 라우팅 수준에서 재정의 할 수있는 방법이 있습니까?레일즈 오버라이드 기본 라우팅 도우미
답변
의 범위를해야합니다. 반환 값은 생성 된 URL에서 ID로 사용됩니다.
class Thing
def to_param
name
end
end
다음은 또한 너무
scope "/something" do
resources :things
end
같은 범위에 자원을 당신의 경로를 적용 할 수 있습니다, 당신은 또한 하위 자원을 적용 할 수있다 사용할 수 있습니다.
마지막으로 컨트롤러를 적용해야합니다. Thing.find(params[:id])
은 분명히 작동하지 않습니다.
class ThingsController < ApplicationController
def show
@thing = Thing.where(:name => params[:id).first
end
end
당신은 아마 그렇지 않은 경우 당신이 이상한 일들을 관찰 할로 Thing
의 name
이 고유 있는지 확인하려면.
당신은 당신은 당신의 모델에 to_param
를 정의 할 수 있습니다 routes.rb
scope "/something" do
resources :models
end
그래 (생성 슬러그를 사용하는 예) 당신이 몇 가지 추가 동작을 제공하는 friendly_id에 관심이있을 수있는, 자신이 모든 것을 구현에서 번거 로움을 저장하려면,하지만 난 ID를 싶지 않아 해당 경로를 추가하지 않으면 "/something/model/[model.id]"와 같은 경로가 생성됩니까? 내가 대신에 "/something/[model.name]"처럼 보일 필요가 있습니다. – tpalmer
좋아요. 그래서 평상시에는 안되는 경로가 필요합니다. – MikDiet
'get "something/: name"=> "models # show", : as => : model' – MikDiet
- 1. 기본 레일즈 코드 오버라이드
- 2. 레일즈 3 : 스코프 : 라우팅 : JS/CSS 도우미
- 3. 레일즈 to_xml 오버라이드
- 4. 레일 : 라우팅 경로 도우미
- 5. 레일즈 도우미 이해하기
- 6. 레일즈 : 도우미 리팩토링
- 7. 레일즈 도우미 구분 기호가있는 각각의 도우미
- 8. 레일즈 엔진 컨트롤러 액션을 오버라이드
- 9. 루비 온 레일즈 3 - 라우팅
- 10. 레일즈 3 컨트롤러 내에서 라우팅
- 11. 레일즈 3 정규식 기반 라우팅
- 12. 레일즈 3 아파치의 URL 라우팅
- 13. 복잡한 라우팅, 쉽게 이름 경로 도우미 레일
- 14. 기본 백키 오버라이드 기능의 문제
- 15. CakePHP의 2.x에서 역방향 라우팅 링크 도우미
- 16. 레일즈 도우미 모듈이 정의되지 않은 메소드`sort '
- 17. 레일즈 : 도우미 및 모델 - 코드 구성 위치
- 18. 레일즈 도우미 옵션에 대한 문서는 어디에 있습니까?
- 19. 어떻게 오버라이드 된 레일즈 3 FormHelper를 스펙 하시겠습니까?
- 20. CI 기본 라우팅
- 21. 레일즈 3 라우팅 (옵션 범위 아래)
- 22. 루비 온 레일 (well-on-rails)의 도우미 컬럼 오버라이드
- 23. 레일 도우미 라우트 오버라이드 GET 매개 변수에서 레이아웃을 설정하는 방법
- 24. URL 매개 변수의 기본 라우팅
- 25. codeigniter 기본 컨트롤러 URL 라우팅
- 26. 기본 Ember.js 라우팅 및 데이터로드
- 27. NS2의 기본 라우팅 알고리즘은 무엇입니까?
- 28. MVC 3 기본 문서 라우팅
- 29. ASP.NET URL 라우팅, 기본 경로
- 30. 라우팅 사양의 기본 형식 지정
Nice! 정확히 내가 뭘 찾고 있었는지 - 고마워! – tpalmer