2012-02-22 4 views
0

동적 세그먼트를 사용하기 시작한 것은 HTTP 세그먼트를 통해 AWS S3에서 데이터를 가져 오는 데 필요한 특정 요소를 지정하기 위해서입니다.동적 세그먼트를 사용하여 레일스 라우팅

나는 나의 routes.rb 파일이 일치 문이 :

match ':installation/:venue/:controller(/:action(/:id))' 

이 잘 작동하고 제가 설치 및 장소에 끌어와 함께 사용되는, 수행 할 작업을 정확하게 수행 할 수 있습니다 HTTParty는 S3에서 해당 정보를 가져옵니다.

이제는 내 응용 프로그램 컨트롤러에서 이러한 내용을 읽으므로 영구적 인 링크를 유지해야합니다. 예를 들어 link_to를 작성할 때보기/부분에서 다음을 수행해야했습니다.

<%= link_to some_name, 
"#{@installation}/#{@venue}/#{controller.controller_name}/show/some_id" %> 

만약 내가이 문제를 다루지 않아도되는이 추함이 아니라면, 나는 이것에 관해서 어떻게 옵션을 전달할 수 있는지 이해하지 못합니다.

기본적으로 동적 세그먼트를위한 유용한 경로를 갖는 방법이 있습니까? 당신은 polimorphic_url을 사용할 수 있습니다

답변

1
+0

이 내가 필요, 그래서 지적 주셔서 대단히 감사합니다 정확히 것 같다. 인터넷 검색을하는 동안 나는 그것을 보지 못했습니다. 하지만이 link_to : link_to menu_item.title, polymorphic_url ([@ installation, @venue, PoiList, 'index']) : url_options => {: map_button => map_button}으로 구현하면 다음 오류가 발생합니다. # <# : 0x8f1b08c>에 대한 'SPREE_SPREE-2012_poi_lists_url'. 어떤 의미있는 경로가 없다는 뜻인가요? 그렇다면 어떻게 합리적인 대처 방안을 모색 할 수있는 경로를 만들 수 있을까요? – Gowiem

+1

당신의 완전한 routes.rb는 무엇입니까? – eveevans

+0

나는 이것을 알아 냈어. 그냥 일치하는 문장을 다음과 같이 설정했다 : '설치 : : 장소/: 컨트롤러 (/ : 액션 (/ : id))', : as => : default 내가 원했던 풍부한 루트. 그래도 도움을 주셔서 다시 한번 감사드립니다. – Gowiem

관련 문제