Devise route for confirmation error with :locale

Rails 3.1.3

I have setup devise and i18n . In routes.rb

scope "/:locale" do
    devise_for :users, :controllers => { :registrations =>

‘registrations’ }

end

But in the process of confirmation,

No route matches {:action=>“create”,
:controller=>“devise/confirmations”,
:confirmation_token=>“W65sGSMU9TNQwJDRzNzV”}

appears.
There is a similar issue such as

But I don’t quite understand what to do as explained in this URL.

“Yes, you need to copy the views to your application and change the
confirmation_url (and all other calls) to pass the locale as parameter.
Another option is to configure default_url_options to include :locale.
There is probably something in the wiki, if not, check Rails
documentation.”

Could anyone explain this to me more specifically?

soichi

I have added

def default_url_options(options={ })
    logger.debug "default_url_options is passed options: 

#{options.inspect}\n"
{ :locale => I18n.locale }
end

in application_controller.rb.

But I noticed that the log shows

Started GET “/en/users/sign_up” for 127.0.0.1 at 2012-12-12 14:49:09
+0900
Processing by RegistrationsController#new as HTML
Parameters: {“locale”=>“en”}
default_url_options is passed options: {}

no parameter is passed!

I don’t know why…