0

Я новичок в Rails, и я не знаю, что делать с ТИС ошибку, пожалуйста, помогите (с объяснением):ActionController :: UrlGenerationError в Devise :: # создать Регистрации

ActionController :: UrlGenerationError в Devise :: # создать Регистрации

Показаны /home/ubuntu/workspace/mamchut418/app/views/devise/mailer/confirmation_instructions.html.erb где линия # 5 поднятый:

нет маршрута матчей {: действие => «create»,: confirm_token => «24GGcednzrEXEzaR82AC»,: controller => «devise/confirmations»} отсутствуют необходимые ключи: [: locale]

Извлеченные источник (около линии # 5):

3 | <p><%= _('You can confirm your account email through the link below:') %>p> 
4 | 
5 | <p><%= link_to _('Confirm my account'), confirmation_url(@resource, confirmation_token: @token) %></p> 

приложение/просмотров/изобрести/почтовик/confirmation_instructions.html.erb: 5: в `_app_views_devise_mailer_confirmation_instructions_html_erb___1326125006769773887_55918960'

Запрос

Параметры:

{"utf8"=>"✓", 
"authenticity_token"=>"pY7ApWH/WTOVTFGifeV7QbubuNch/EzCJWjaXg7t+i5iYpI=", 
"user"=>{"email"=>"[email protected]", 
"password"=>"[FILTERED]", 
"password_confirmation"=>"[FILTERED]"}, 
"commit"=>"Registrovať", 
"locale"=>"sk"} 

Сессионный дамп

_csrf_token: "pY7ApWH/WTkukoOVTFGifeV7QNch/EzCJWjaXg7t+i5iYpI=" 
locale: "sk" 
session_id: "01f6f1f89089a5ef29326e80b0d44f79" 

ответ

1

Это i18n (интернационализация) вопрос, где он должен знать, что Yoru локаль. Укажите региональные настройки по умолчанию для интернационализации в вашей конфигурации/application.rb файл

config.i18n.default_locale = :en 

или, возможно, вы хотите словацкого

config.i18n.default_locale = :sk 

EDIT

Вы также можете указать локаль при вызове confirmation_url метод ...

<p><%= link_to _('Confirm my account'), confirmation_url(@resource, confirmation_token: @token, locale: 'en') %></p> 
+0

Большое спасибо за ваш совет, я сделал это, очищенный кэш, res но эта ошибка все еще остается :-( –

+0

Один парень из Github рекомендовал мне сделать это: - «Исходя из этой ошибки, похоже, вам нужно передать опцию« locale »в помощнике« confirm_url », что должен работать ». - Может быть, это решение, но для меня это« испанская деревня ». Я не знаю, как это сделать. Можете ли вы объяснить мне это, пожалуйста? –

+0

Он предлагает вам изменить эту строку, передав параметр локали ... вот пересмотренная строка ... '

<% = link_to _ ('Подтвердить мою учетную запись'), confirm_url (@resource, confirm_token: @token, locale: ' en ')%>

' – SteveTurczyn

Смежные вопросы