古いアプリの TrackerController には、Rails 4 で既に廃止されているこの構造があります。
verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :calendar }
これがroutes.rbでの検証の翻訳方法だと思いました
post 'destroy' => 'tracker#calendar'
post 'create' => 'tracker#calendar'
post 'update' => 'tracker#calendar'
ただし、TrackerController には破棄、作成、更新のアクションはありません。
次の行にはさらに検証があります。
verify :session => :loggedin_user_id, :redirect_to => "/login"
verify :session => :selected_user_id, :redirect_to => "/users"
verify :session => :privileged_user, :only => [:unlock, :destroy_allowance, :acknowledge], :redirect_to => "/Tracker"
掘り下げて、これが上記の書き直し方法になると思いました。
before_action :require_login, require_user
def require_login
unless session[:loggedin_user_id?]
redirect_to '/login'
end
end
def require_user
unless session[:selected_user_id?]
redirect_to '/users'
end
end
ただし、require_user も実行されます。
これらの検証をどのように再構築しますか?
どうも!