【问题标题】:Internal redirection in Padrino帕德里诺的内部重定向
【发布时间】:2013-07-05 15:39:52
【问题描述】:

有没有办法在 Padrino 中进行内部重定向?我正在编写一个 RESTful 服务,浏览器客户端没有 HTML 响应。 我有一个资源,比如说xyz

MyApp.controllers :xyz

我在一个控制器中有两条路由:

put :index, :with => :xyz_id do...end

get :show, :map => '/xyz/:xyz_id' do...end

现在为了简化(和集中)视图(这是一个 JSON 文档)的创建,我只想在内部重定向控件,以便它在创建资源后处理 :show 方法。因此,对于服务的客户端,PUT /xyz/1234 将创建一个新资源并返回相同的资源,GET /xyz/1234 将返回该资源(如果存在)。

有没有办法从 put :index 方法(在创建资源之后)从内部(不是发送给客户端的 302 响应)重定向到 get :show 方法?比如:

redirect (:xyz, :index, {:xyz_id => '1234'})

【问题讨论】:

    标签: ruby sinatra padrino


    【解决方案1】:

    首先,您可以将显示数据背后的逻辑放入可以从GETPUT 路由调用的单独函数中。如果你真的想将处理传递给不同的路由,你可以使用 rack 的call 方法:

    put '/foo' do
      # putting related stuff
      call env.merge('REQUEST_METHOD' => 'GET')
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      • 2018-11-09
      相关资源
      最近更新 更多