2015-05-11 5 views
0

Я использую Rails 4.2 сейчас.Как использовать метод контроллера из lib с Rails?

Я создал модуль под каталогом lib. Я хочу, чтобы вызвать метод обслуживания от app/controllers/applicaiont_controller.rb, но это было не удалось:

NoMethodError in ProductsController#index 
undefined method `redirect_to` for #<...> 

модуля моих библитеков как:

module One 
    class Display 
    response = other_method 
    if response.status == 200 
     data = 'OK' 
    else 
     redirect_to_maintencance 'Maintenance ...' 
    end 
    data 
    end 
end 

приложение/контроллеры/applicaiont_controller.rb

class ApplicationController < ActionController::Base 
    # Other methods 

    def redirect_to_maintencance(message = nil) 
    redirect_to :maintencance, flash: { maintencance_message: message } 
    end 
end 
+0

Почему ошибка, вызываемая '# '? Если вам просто нужен другой помощник redirect_to'ish, возможно, вы можете определить его в 'app/helpers/some_helper.rb'. – Aetherus

+0

Потому что я хочу использовать этот модуль в каталоге lib из product_controller. –

+0

Затем введите код 'ProductController'. Код, который вы предоставили, не имеет ничего общего с ошибкой. – p4sh4

ответ

0

Это не является хорошим способом использования метода перенаправления в модуле lib. Переведите логику проверки состояния на контроллер или помощник.

Благодаря @ jphager2.