我需要对我的 Rails 应用程序使用 RESTful 输入。首先,我试图了解 REST,并在我的 MAC 上使用 WizTools RestClient 进行测试。
我有一个名为priorities 的表,我正在尝试更新一个名为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 。
谢谢您的帮助!
更新1:
我需要宝石“oauth-plugin”吗?
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
更新3
我在本地主机上尝试使用:
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>"
这对我来说似乎没问题。
但是,价值没有更新。
更新4
我用这个:
METHOD = POST
URL = http://localhost/priorities
HEADER = prioritynum
VALUE = 5
并且创造了新纪录!但是,prioritynum 是空白的
我也尝试过使用
http://localhost:5000/priorities?prioritynum=5
像 (prioritynum=5) 这样的数据字段应该在标题还是正文中?我把它放在身体里,它没有用:
typecode="test"
更新5
好的,这有效!
METHOD = PUT
URL = http://mywebsite/priorities?priority[prioritynum]=5