2013-04-10 70 views
0

我需要使用RESTful输入到我的Rails应用程序。首先,我试图理解REST,并在我的MAC上使用WizTools RestClient进行测试。Rails休息放置HTTP/1.0 501未实现

我有一个表称为优先级,我试图更新一个名为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:

我需要宝石 “OAuth的插件”?

UDPATE2:

这是我priorities_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

我尝试使用本地主机上:

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 
+0

您可以发布您'PrioritiesController'类的内容?或者至少是更新方法。 – 2013-04-10 20:21:56

+0

我把UPDATE2 – Reddirt 2013-04-10 20:28:46

+0

你的routes.rb中有'resources:priorities'吗? – 2013-04-10 20:30:17

回答

0

我得到它的工作的各类控制器 - 我用这个:

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