2015-05-15 2 views
1

rails 4.2.1Возврат силы после рендера в контроллере рельсов?

Я хочу написать функцию, которая заставляет контроллер, с которым он был вызван, для рендеринга и возврата. Это возможно?

def error! 
    # do stuff to define error 
    # now render error 
    render 
end 

def SomeController < ActionController::Metal 
    include AbstractController::Rendering 
    include ActionController::Rendering 
    include AbstractController::Callbacks 
    include ActionController::Renderers::All 
    include ActionController::ImplicitRender 
    def some_action 
    if something 
     # good - continue 
    else 
     # bad - error! 
     error! 
     # how to force controller to stop execution and return here? 
     # return error! # I could do this 
     # but could I do it in the error! function? 
    end 
    puts 'Still Running' 
    end 
end 
+0

что, если вы передаете экземпляр контроллера в 'ошибка! (Контроллер)' как параметр и 'controller.render'? – lx00st

ответ

1

проверка

def some_action 
    if something 
    # good - continue 
    else   
    return error!   
    end 
    puts 'Still Running' 
end 

Другой вариант вызвать исключение в error!, и есть rescue_from блок на ApplicationController уровне

Смежные вопросы