ユーザー認証にDeviseを使用していますが、「myaccount」というUserクラス用に設定したカスタムアクションにユーザーをリダイレクトしたいと考えています。ただし、構文を正しく取得できません。試行中のすべてでさまざまなエラーが発生します。
このコードは、私が達成しようとしていることを示している可能性があります (ただし、機能しません)。
def after_sign_in_path_for(resource)
redirect_to :controller => 'users', :action => 'myaccount', :id => current_user.id and return
end
そしてルート:
devise_for :users, :controllers => { :registrations => "registrations" }
devise_for :users
resources :users do
member do
get 'myaccount'
end
end
申し訳ありませんが、それはおそらくかなり初心者の質問です-しかし、リダイレクトを変更するか、新しいルートを追加して、たとえばuser_sign_in_pathが機能するようにするにはどうすればよいですか?
ありがとう!
アップデート:
他の誰かがこの質問を見つけた場合、これが私にとってうまくいきました:
url_for :controller => '/users', :id => current_user.id, :action => 'myaccount'
これは私が必要とする正しい順序です。Devise コントローラーの代わりにそれを使用するようにするには、コントローラー名の前にスラッシュを付ける必要がありました。