我收到以下错误
No route matches [POST] "/events"
使用此设置:
配置/路由.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| %>
我无法弄清楚我做错了什么!
更新
当我在创建新事件条目时尝试发布数据时收到此错误
更新 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 的 Windows 8 x64 位上运行良好。它不适用于 Linux 服务器(主机)上的 Ruby 1.8.7、Rails 3.2 和 Phusion Passenger。
更新 4
哦。multipart/form-data
如果您向它发送带有编码的表单,Rails 似乎不太高兴!删除文件上传解决了这个问题。