この質問が何度も聞かれたことは知っていますが、これまでのところ、どのレシピも役に立ちませんでした.
次のroutes.rbを使用して、Ruby 2.0.0、Rails 4.0.0で作成されたアプリケーションがあります。
resources :announcements do
end
次のルートを生成します。
announcements GET /announcements(.:format) announcements#index
POST /announcements(.:format) announcements#create
new_announcement GET /announcements/new(.:format) announcements#new
edit_announcement GET /announcements/:id/edit(.:format) announcements#edit
announcement GET /announcements/:id(.:format) announcements#show
PATCH /announcements/:id(.:format) announcements#update
PUT /announcements/:id(.:format) announcements#update
DELETE /announcements/:id(.:format) announcements#destroy
次に、HTML で非常に単純な構成を使用します。
<%= button_to 'X', announcement, method: :delete %>
次のコードが生成されます。
<form method="post" class="button_to" action="/announcements/525c0d28b9fd0171e2000003">
<div>
<input type="hidden" value="delete" name="_method">
<input type="submit" value="X">
<input type="hidden" value="DR+QjuAG9npqqWRV16Zq0G4Cq3lGpNHY0qjV8LJpUZo=" name="authenticity_token">
</div>
</form>
すべてが非常にシンプルで、きれいで、正しいように見えます。それにもかかわらず、「ルートが一致しません」というエラーが表示されます。なんで?