나는 버전 네임 스페이스 내 API를 가지고네임 스페이스 API의 자원 루트
namespace :api do
namespace :v1 do
resources :posts
end
end
하지만 지금은 내 컨트롤러가있을 때 할 어떤 루트는 그것을 정의되어 있지 않기 때문에 나는 Post
에 대한 경로 오류를 얻을 redirect_to @post
. 자동으로에 있어야 감지 redirect_to @post
을 만들 수있는 방법이 있나요
def create
@post = Post.new(params[:post])
if @post.save
redirect_to api_v1_post_url(@post)
# or redirect_to [:api, :v1, @post]
else
# ...
end
end
:
def create
@post = Post.new(params[:post])
if @post.save
redirect_to @post
else
# ...
end
end
undefined method `post_url' for #<Api::V1::PostsController:0x007fb9c5fc8858>
은 내가 명명 된 경로와 세상의 그 끝은 아니다로 리디렉션 내 컨트롤러를 업데이트 할 수 있습니다 알고 오른쪽 API 버전 (레일은 api_v1_post_url
을 사용하기 때문에 작동합니까?) redirect_to
을 덮어 쓸 수 있지만 실제로는 네임 스페이스가 url_for
을 인식하도록하고 싶습니다. 레일이이 문제를 해결할 수 있을까요? (당신이 지금 사용하는 일) 레일 라우터 루비의 세 가지 옵션
네임 스페이스이 있습니다