0

단일 리소스에 대한 업데이트 작업을 위해 form_for에 올바른 URL을 제공하기 위해 고심하고 있습니다.레일즈 : 단일 리소스 업데이트 경로 문제

내 routes.rb은 다음과 같다 :

다음과 같은 경로 제공
scope "(:locale)", :locale => /en|fr/ do 
    namespace :quickwizard, :module => 'quick_wizard' do 
    resource :business, controller: 'business' 
    end 
end 

:

 quickwizard_business POST (/:locale)/quickwizard/business(.:format)   quick_wizard/business#create {:locale=>/en|fr/} 
new_quickwizard_business GET (/:locale)/quickwizard/business/new(.:format)  quick_wizard/business#new {:locale=>/en|fr/} 
edit_quickwizard_business GET (/:locale)/quickwizard/business/edit(.:format)  quick_wizard/business#edit {:locale=>/en|fr/} 
          GET (/:locale)/quickwizard/business(.:format)   quick_wizard/business#show {:locale=>/en|fr/} 
          PUT (/:locale)/quickwizard/business(.:format)   quick_wizard/business#update {:locale=>/en|fr/} 
          DELETE (/:locale)/quickwizard/business(.:format)   quick_wizard/business#destroy {:locale=>/en|fr/} 

와보기 :

= simple_form_for @business, url: quickwizard_business_path(@business), validate: true do |f| 

이 업데이트에 대한 잘못된 URL을 생성을 (하지만 만들 때 작동) :

내가 대신 수동으로 올바른 경로를 넣어 경우
<form accept-charset="UTF-8" action="/15/quickwizard/business" ... 

, 그것은 업데이트 일 :

= simple_form_for @business, url:"/quickwizard/business", html: { method: 'put' }, validate: true do |f| 

그래서 내 질문은 : 나는 모두 생성 및 업데이트 작업에 대한 작업을 넣어이 너무 URL을 할 수있는 적절한 방법은 무엇입니까 ?

답변

0

문제는 단일 리소스가 아닌 로캘에 있습니다.

quickwizard_business_path(@business, locale: nil) 
+0

수정하지 마십시오. routes.rb를 업데이트하여 범위를 포함 시켰습니다 (게시하는 것을 생각하지 않았습니다). 로케일에 가능한 옵션을 지정했다면, 비즈니스 ID가 어떻게 로케일로 오인 될 수 있습니까? –