2
레일 2에 다음과 같이 슬래시를 : 컨트롤러 매개 변수에 추가하여 도메인 상대 URL을 얻을 수 있습니다. 이와 같은 :레일 3 도메인 상대 URL
# anywhere in the app, Rails 2
>> url_for(:controller => '/posts', :action => 'index')
=> "/posts"
그러나, 레일 3, 이것은 당신이 중첩 컨트롤러에 경우 작동하지 나타납니다. 예를 들어, Home :: Foo에 있으면 작동합니다. 나는 홈 :: 푸 :: 바에있어 경우 작동하지 않습니다
# in Home, works
>> url_for(:controller => '/posts', :action => 'index')
=> "/posts"
# in Home::Foo, works
>> url_for(:controller => '/posts', :action => 'index')
=> "/posts"
# in Home::Foo::Bar, does not work
>> url_for(:controller => '/posts', :action => 'index')
=> "home//posts"
질문은 다음과 같습니다 어떤 적절한 레일에게 있습니다 url_for를 사용하여 도메인 상대 링크()를 받고 3 방법은?
문제는 모든 컨트롤러에 대해 routes.rb를 수정해야한다는 것입니다. 그것은 나쁜 해결책이 아니지만': controller =>'의 목적을 무의미하게 만듭니다. 그렇지 않습니까? –
어쩌면 나는 편안한 경로를 사용할 수 있었지만, a) 내 앱에서 편안한 경로를 사용하지 않고 b) @ Yar가 말한 것처럼 어디서나 업데이트해야합니다. – dodgeandburn