我想使用 HTTP POST 从 json 在 Rails 服务器上创建一个新的“图像”对象。
这是 images_controller 代码:
class ImagesController < ApplicationController
respond_to :json
def create
@image = Image.new(params[:image])
respond_to do |format|
if @image.save
format.html { redirect_to images_path }
format.json { render :success => true }
else
format.html { render "new" }
format.json { render json: @image.errors, status: :unprocessable_entity }
end
end #respond_to
end
end
路线.rb:
MyServer::Application.routes.draw do
post 'images' => 'images#create'
end
我正在使用 Chrome 扩展“简单 REST 客户端”。这是请求:
URL: http://localhost:3000/images
METHOD: POST
Headers:
Content-Type: application/json
Accept: application/json
Data:
{"image": { "title":"myImage", "url": "someUrl" } }
这是回应:
Status:500 Internal Server Error
Data:
<title>Action Controller: Exception caught</title>
<h1>Template is missing</h1>
<p>Missing template images/create, application/create with {:locale=>[:en], :formats=>[:json], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "c:/Users/XXX/workspaceRubyOnRails/my_server/app/views"
</p>
运行 rake 路线:$ rake 路线
images_edit GET /images/edit(.:format) images#edit
images_new GET /images/new(.:format) images#new
images GET /images(.:format) images#index
image GET /images/:id(.:format) images#show
images POST /images(.:format) images#create