Rails - 使用参数渲染请求引用者

时间:2013-08-03 10:42:11

标签: ruby-on-rails ruby controller request render

在另一个控制器控制的资源验证失败的情况下,寻找一种干净的方式来呈现请求引用的动作和控制器。这是因为可以从多个不同的视图创建资源。

到目前为止,我已经完成了这一步:

        if @resource.save

            redirect_to resource_path(@resource)
        else
            request_referer_controller = Rails.application.routes.recognize_path(request.referrer)[:controller]
            request_referer_action = Rails.application.routes.recognize_path(request.referrer)[:action]
            search_param = Rails.application.routes.recognize_path(request.referrer)[:search_param]
            render "#{request_referer_controller}/#{request_referer_action}", search_param: search_param if request_referer_controller.include? "search"
            render "#{request_referer_controller}/#{request_referer_action}" if request_referer_controller.include? "profile"
        end

但对我而言,某种程度上是丑陋的。必须在rails中构建一些内容来确定和呈现先前的请求控制器,操作和任何参数吗?

我已经习惯了Rails只是内置了所有东西。

0 个答案:

没有答案