0

verify が非推奨になったため:

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

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

アーカイブは、フィルター前に使用すると言いますが、それをフィルター前に変換する方法は?

他のアーカイブによると、REST ルートを使用する場合、verify または 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これらの行はファイルに入れる必要があります

誤字に気づいて更新

申し訳ありませんが、2 つのアクションを交換したことに気付きました。そのため、前のコードは無限ループで解決されました。代わりにこれを使用する必要があります。

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