所以我有一个 Padrino 应用程序,其控制器看起来大致如下(为简洁起见):
App.controllers :questions do
get :index, :with => :id, :provides => [:html, :json] do
# Stuff
end
post :index, :with => :id, :provides => [:html, :json] do
# Other stuff
end
end
如果我在浏览器中点击“questions/1”,我会看到给定问题的 HTML 页面。如果我点击“questions/1.json”,我会看到问题的 JSON 表示。就像我所期望的那样。
现在,如果我通过 Web 表单向“questions/1”提交 POST 请求,它就可以工作了。但是,如果我尝试向“questions/1.json”发送一个 POST 请求(表明我想要 JSON 格式的响应,或者至少我认为它是这样工作的),我会得到一个 405 Method Not Allowed。
我猜我在这里误解了一些基本的东西。我错过了什么?更重要的是,我应该如何定义一个路由来接受 POST 请求并提供 HTML 或 JSON 响应?