次のエラーが発生します
No route matches [POST] "/events"
この設定では:
config / routers.rb
namespace :admin do
#...
resources :events
#...
end
(...)admin / events_controller.rb
class Admin::EventsController < Admin::AdminController
def index
@events = Event.all
end
def new
@event = Event.new
end
def create
@event = Event.new(params[:event])
if @event.save
redirect_to [:admin, admin_events_url]
else
render :action => "new"
end
end
def edit
@event = Event.find(params[:id])
end
end
(...)admin / events / _form.html.erb
<%= form_for([:admin, @event]) do |f| %>
何が間違っているのかわからない!
アップデート
新しいイベントエントリの作成中にデータからPOSTしようとすると、このエラーが発生します
アップデート2
内部のオープニングフォームタグevents/new
:
<form accept-charset="UTF-8" action="/admin/events" enctype="multipart/form-data" id="new_event" method="post">
の結果rake routes
:
admin_events GET /admin/events(.:format) admin/events#index
POST /admin/events(.:format) admin/events#create
/admin/events/
使用へのナビゲートは問題なくGET
機能します。
アップデート3
これは、Ruby 1.9.3、Rails 3.2、およびMongrelを搭載したWindows8x64ビットで正常に動作します。Linuxサーバー(ホスト)上のRuby 1.8.7、Rails 3.2、PhusionPassengerでは動作しません。
アップデート4
おー。multipart/form-data
エンコーディング付きのフォームを送信すると、Railsはあまり満足していないようです。ファイルアップロードを削除すると、この問題が修正されました。