単一のリソースで機能する更新アクションのために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は作成アクションと更新アクションの両方で機能しますか?