Как получить доступ к методу cookie в классе Rails 3.0 metal - PullRequest
1 голос
/ 26 сентября 2010

У меня есть класс металла Rails 3.0, который находится в каталоге app / controllers.

class FooMetalController < ActionController::Metal

  include ActionController::Cookies
  include ActionController::Helpers::ClassMethods
  include ActionDispatch::Session::CookieStore

  def hit
    unless cookies[:user_id].nil?
      logger.info("Cookies value is : #{cookies[:user_id]}")
      redirect_to "http://www.yahoo.com"
    else
      cookies[:user_id] = { :value => "198", :expires => 180.days.from_now }
      redirect_to "http://www.google.com"
    end
  end

end

Когда я нажимаю на URL: http://localhost:3000/foo, вызывается метод hit.Проблема в том, что он не может использовать метод cookie.Я включил модули, связанные с куки, все еще получаю: ActionController :: RoutingError (неопределенный метод `helper_method 'для сообщения об ошибке.

Как заставить класс Rails metal распознавать метод куки?

1 Ответ

2 голосов
/ 01 ноября 2011

Глядя на источник: https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/cookies.rb

Это похоже на включение ActionController::Cookies неявно вызовов helper_method, когда оно включеноПопробуйте включить ActionController::Helpers до ActionController::Cookies.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...