Rails休息使HTTP / 1.0 501未实现

时间:2013-04-10 20:12:11

标签: ruby-on-rails rest

我需要在我的Rails应用程序中使用RESTful输入。首先,我试图理解REST,并在我的MAC上使用WizTools RestClient进行测试。

我有一个名为priority的表,我正在尝试更新名为prioritydesc的字段。

这是我正在使用的信息

METHOD = PUT
URL = http://mywebsite/priorities/4
HEADER = prioritydesc
VALUE = "TEST"

我得到的结果是:

HTTP/1.0 501 Not Implemented

如果我使用resttesttest.com网站,我会得到:

Access-Control-Allow-Origin不允许原点http://resttesttest.com

感谢您的帮助!

UPDATE1:

我需要gem“oauth-plugin”吗?

UDPATE2:

这是我的priority_controller PUT:

 # PUT /priorities/1
 # PUT /priorities/1.json
def update
 @priority = Priority.find(params[:id])

 respond_to do |format|
   if @priority.update_attributes(params[:priority])
     format.html { redirect_to @priority, notice: 'Priority was successfully updated.' }
     format.json { head :ok }
   else
     format.html { render action: "edit" }
     format.json { render json: @priority.errors, status: :unprocessable_entity }
   end
 end
end

UPDATE3

我尝试使用localhost:

METHOD = PUT
URL = http://localhost/priorities/1
HEADER = prioritynum
VALUE = 5

得到了

"<html><body>You are being <a href="http://localhost:5000/priorities/4">redirected</a>.</body></html>"

这对我来说似乎没问题。

但是,价值没有更新。

UPDATE4

我用过这个:

METHOD = POST
URL = http://localhost/priorities
HEADER = prioritynum
VALUE = 5

它又创造了新纪录!但是,prioritynum是空白的

我也尝试过使用

http://localhost:5000/priorities?prioritynum=5

数据字段(prioritynum = 5)是否应该在标题或正文中? 我把它放在体内并且它不起作用:

typecode="test"

UPDATE5

好的,这有效!!

 METHOD = PUT
 URL = http://mywebsite/priorities?priority[prioritynum]=5

1 个答案:

答案 0 :(得分:0)

我让它适用于类型控制器 - 我用过这个:

Method = POST
URL =  http://mywesite/types?type[typecode]=test&type[typedesc]=test%20description