2008-09-29 3 views
5

이 경로 갖는Rails의 URL 매개 변수에서 link_to가 슬래시를 벗어나는 것을 방지하려면 어떻게해야합니까?

map.foo 'foo/*path', :controller => 'foo', :action => 'index' 

을 나는 심지어 :escape => false와 직접 url_for 또는 foo_url를 호출 link_to 전화

link_to "Foo", :controller => 'foo', :path => 'bar/baz' 
# <a href="/foo/bar%2Fbaz">Foo</a> 

에 대한 다음과 같은 결과가 나에게 같은 URL을주고 있습니다

foo_url(:path => 'bar/baz', :escape => false, :only_path => true) 
# /foo/bar%2Fbaz 

결과 URL을 다음과 같이 지정합니다. /foo/bar/baz

레일을 패치하지 않고이 문제를 해결할 방법이 있습니까?

+0

oops는 rubyonrails가 최고의 태그가 아니라는 것을 알고 있습니다. –

답변

4

경로에 문자열을 전달하는 대신 배열을 지정하십시오. 당신이 당신의 루트 파일의 경로를 가지고 있지 않은 경우

link_to "Foo", :controller => 'foo', :path => %w(bar baz) 
# <a href="/foo/bar/baz">Foo</a> 

,이 같은 LINK_TO 대신이를 만들 것입니다 :

# <a href="/foo?path[]=bar&path[]=baz">Foo</a> 

유일한 장소 나는이 문서화 찾을 this ticket에 있었다.

-3

그 경로로 URL을 생성해야하는 이유는 무엇입니까?

URL을 덮기위한 추가 경로를 정의하는 것이 더 깔끔합니다.

+0

설명 등을 위해 댓글 기능을 사용하십시오 ;-) – webmat

관련 문제