0

由于验证已被弃用:

  verify :method => :get, :only => [ :logout, :index ],
         :redirect_to => { :action => :index }

  verify :method => :post, :only => [ :login ],
         :redirect_to => { :action => :index }

档案说,使用前置过滤器,如何将其翻译成前置过滤器?

其他档案说,如果您使用 REST 路由,则不需要验证或 before_filter。那时我的路线会是怎样的?目前是

Get ‘login’ => ‘login#login’
4

1 回答 1

0

您没有向我们展示您从哪个控制器使用这些路由。我想它是用户,所以翻译应该是:

resources :users, only: [:index] do
    collection do
        # Should be delete, not get
        get  'logout', to: redirect('/index_or_whatever_you_want')
        post 'login',  to: redirect('/same_as_before')
    end
end

澄清控制器名称后更新

get  'logout' => 'login#index'
post 'login', => 'logout#index'

请注意,您肯定以这种方式错过了“RESTful 路由”中的要点。这些行应该放在config/routes.rb文件中

发现错别字后更新

抱歉,我刚刚注意到我交换了两个操作,这就是为什么前面的代码在无限循环中解析的原因,你应该改用这个:

get  'logout' => 'login#index'
post 'login', => 'login#index'
于 2013-07-19T22:28:34.707 回答