ポップアップ登録を書いています。私の問題は、登録とセッションのコントローラーをオーバーライドできないことです。私はこの投稿http://casperfabricius.com/site/2010/09/30/ajax-sign-in-and-sign-up-with-devise/を使用していました。
registrations_controller.rb に次のように記述します。
def after_sign_up_path_for(resource)
edit_user_registration_path(current_user)
end
それは動作しません... また、sessions_controllerで:
class SessionsController < Devise::SessionsController
def sign_in_and_redirect(resource_or_scope, resource=nil)
scope = Devise::Mapping.find_scope!(resource_or_scope)
resource ||= resource_or_scope
redirect_url = stored_location_for(scope)
respond_to do |format|
format.js do
sign_in(scope, resource) unless warden.user(scope) == resource
if redirect_url.present?
redirect_url = "#{redirect_url}.js" unless redirect_url[-3..-1] == '.js'
redirect_url += redirect_url.match(/\?/) ? '&' : '?'
redirect_url += "after_authentication=true"
redirect_to redirect_url
else
render(:update) do |page|
page << render('/shared/after_authentication')
end
end
end
format.html { super }
end
end
end
私のルートでは問題だと思います:
devise_for :users, :controllers => {:sessions => '/sessions', :registrations => '/registrations'}
devise.rb を変更し、custom_failure.rb を追加しました。
誰が私を助けることができます ?