나는 런타임에 다른 URL의 매핑을 만드는 작업이 있습니다.
응용 프로그램에서 routes.rb 파일의 경로 목록을 표시하는 GUI 인터페이스가 있습니다.
사용자는 해당 URL을 인터페이스 (예 :
)와 다른 이름으로 변경할 수 있습니다. (abc/mno) - 사용자가 - (hello)
으로 변경할 수 있습니다. 브라우저 요청의/hello 사용자 유형이/abc/mno로 리디렉션 된 경우
이 매핑 된 경로를 데이터베이스에 저장해야합니다.
routes.rb 파일을로드하는 동안 데이터베이스에서 경로를 추가하는 방법. 데이터베이스에 새 레코드를 만드는 동안 이미 정의 된 경로 (routes.rb)에 동적으로 매핑 된 경로를 추가하는 방법. 내가 그것을 데이터베이스에서 경로를 포함 할 수 있도록 기본 라우터를 확장하는 방법을 알아낼 수 없습니다입니다
..rails3에서 동적 경로와 도우미를 만드는 방법
3
A
답변
1
난 당신을위한 완벽한 솔루션이없는,하지만 당신은 두 가지 방법으로 시작할 수 있습니다
를- 를 사용하여 사용자 정의 URL 제약 : Dynamic URL -> Controller mapping for routes in Rails
- 를 사용하여 랙 미들웨어 : 당신은 랙 미들웨어를 사용하지 않을 경우 Dynamic Rails routing based on database
1
, 당신은 제약 조건을 사용할 수 있습니다. 다행히도 동적 경로의 범위는 "/ abc/동적 인 내용이 될 수 있습니다."과 같은 의미로 사용됩니다.
그래서, 사용자의 이름을 기반으로하는 동적 경로라면 다음을 수행합니다.
#config/routes.rb
match '/abc/:route' => "abc#dynamicroute", :contraints => DynamicRouteConstraint.new
#lib/dynamic_route_constraint.rb
class DynamicRouteConstraint < Struct.new
def matches?(request)
User.find_by_first_name(request.params[:route]).present?
end
end
#app/controllers/abc_controller.rb
class AbcController < ApplicationController
def dynamicroute
@user = User.find_by_first_name(params[:route])
#render or redirect, however you wish
end
end
+0
새 개체를 인스턴스화 할 필요가 없으며 클래스 메서드를 호출 할 수 있습니다. 내 대답을 +1하면 내 자신의 솔루션을 구현하는 데 영감을 받았습니다! – Cyzanfar
관련 문제
- 1. android- 화면 도우미를 만드는 방법
- 2. Rails3에서 사용자 정의 POST 액션을 만드는 방법
- 3. AngularJS와 동적 경로와 템플릿
- 4. Meteor - 도우미를 동적 이름으로 등록하는 방법?
- 5. Angularjs에서 동적 경로와 고정 경로를 결합하는 방법
- 6. id없이 text_field_tag 도우미를 통해 입력을 만드는 방법
- 7. 데이터베이스 테이블을 기반으로 동적 양식 도우미를 만드는 방법은 무엇입니까?
- 8. 경로와 동사를 기반으로 Apigee Edge에서 동적 경로를 만드는 방법은 무엇입니까?
- 9. rails3에서 편안한 API를 만드는 방법은 무엇입니까?
- 10. rails3에서 이미지를 렌더링하는 방법 선택
- 11. rails3에서 page.replace_html로 Ajax 호출하는 방법
- 12. rails3에서 두 이미지를 비교하는 방법
- 13. 동적 ExpandableListView를 만드는 방법
- 14. 동적 격자를 만드는 방법
- 15. 동적 UIImageView를 만드는 방법
- 16. 동적 HTML을 만드는 방법
- 17. 동적 양식을 만드는 방법
- 18. 동적 목록을 만드는 방법
- 19. 동적 배열을 만드는 방법
- 20. 동적 테이블보기를 만드는 방법
- 21. 동적 링크를 만드는 방법
- 22. Rails3에서 비디오 모델 만들기
- 23. 누구나 Rails3에서 링크 마크 업을 만드는 방법을 보여줄 수 있습니까?
- 24. 동적 경로와 관련된 Sinatra 라우팅 평가
- 25. 동적 컨트롤러에서 동적 이벤트를 만드는 방법
- 26. 는 동적 경로를 무시하고 내가 동적 경로와 사이트가 하위 경로
- 27. editorformodel html 도우미를 기반으로 새 메서드를 만드는 방법
- 28. 레일에 포도를 사용하여 명명 된 도우미를 만드는 방법
- 29. 레일에 클래스 (css) 옵션이있는 사용자 정의 도우미를 만드는 방법
- 30. Netzke 구성 요소의 도우미를 만드는 방법은 무엇입니까?
모든 라우팅을 처리하는 컨트롤러를 만드는 문제는 .. 사용자가 gui에서 매핑을 생성 할 때 매핑이 반영 될 때까지 다시 시작하지 않습니다. 서버를 다시 .. 다른 path_helpers도 사용할 수 없습니다 – sanjee
@ BlueSmith BlueSmith에 의해 게시 된 두 번째 링크는 꽤 많이 죽었습니다. 표시된 예는 좋은 시작점이며, 변경 사항은 원하는대로 수행해야합니다. – RadBrad