0

После Регистрация новый пользователь я попадаю на Вход страницу со следующим сообщением: flash[:alert]Как изменить сообщение Devise на конкретном этапе его рабочего процесса?

«Вы должны войти или зарегистрироваться, прежде чем продолжается.»

Моя модель Пользователя использует :confirmable модуль DEViSE так, чтобы он был бы хорошо, если после Регистрации пользователя увидит модифицированное сообщение вместо:..

«Спасибо за регистрацию Мы отправили вам confirmational электронной почты, пожалуйста проверьте вашу электронную почту "

Есть ли способ достичь этого?


Заметки о DEViSE процесса:

В настоящее время пользователь не имеет ни малейшего представления о том, что confirmational письмо было отправлено на него. Он увидит сообщение об ошибке Devise, только когда он попытается войти в систему, используя неподтвержденный адрес электронной почты:

«Прежде чем продолжить, вам нужно подтвердить свой адрес электронной почты».


Вот решение: https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-up-(registration)

Я просто следовал первые 2 шага:

1) Создание RegistrationsController:

class RegistrationsController < Devise::RegistrationsController 
    protected 


    # TODO: will this method be triggered one day? 
    def after_sign_up_path_for(resource) 
    # '/an/example/path' 
    new_user_session_path 
    end 

    def after_inactive_sign_up_path_for(resource) 
    new_user_session_path 
    end 
end 

2) Изменить Маршруты:

devise_for :users, :controllers => {:registrations => 'registrations'} 

ответ

2

Во-первых, добавьте Разрабатывают: confirmable к вашей модели/user.rb

devise :confirmable 

Затем сделать миграцию как:

rails g migration add_confirmable_to_devise 

сгенерирует дб/перенастройки/YYYYMMDDxxx_add_confirmable_to_devise.rb. Добавьте к нему следующее, чтобы выполнить миграцию.

class AddConfirmableToDevise < ActiveRecord::Migration 
    # Note: You can't use change, as User.update_all will fail in the down migration 
    def up 
    add_column :users, :confirmation_token, :string 
    add_column :users, :confirmed_at, :datetime 
    add_column :users, :confirmation_sent_at, :datetime 
    # add_column :users, :unconfirmed_email, :string # Only if using reconfirmable 
    add_index :users, :confirmation_token, unique: true 
    # User.reset_column_information # Need for some types of updates, but not for update_all. 
    # To avoid a short time window between running the migration and updating all existing 
    # users as confirmed, do the following 
    User.all.update_all confirmed_at: Time.now 
    # All existing user accounts should be able to log in after this. 
    # Remind: Rails using SQLite as default. And SQLite has no such function :NOW. 
    # Use :date('now') instead of :NOW when using SQLite. 
    # => execute("UPDATE users SET confirmed_at = date('now')") 
    # Or => User.all.update_all confirmed_at: Time.now 
    end 

    def down 
    remove_columns :users, :confirmation_token, :confirmed_at, :confirmation_sent_at 
    # remove_columns :users, :unconfirmed_email # Only if using reconfirmable 
    end 
end 

ли Миграционной rake db:migrate

Если вы не используете reconfirmable, обновить конфигурацию в конфигурации/инициализаторах/изобрести.rb

config.reconfirmable = false 

Надеюсь, это поможет вам.

+0

@yaru: Пожалуйста, обратитесь к этой ссылке для получения более подробной информации ..... https://github.com/plataformatec/devise/wiki/How-To:-Add-:confirmable- к-пользователей –

0

Вам необходимо добавить его в devise.en.yml файл, который находится в каталоге /config/locales/. Под devise > registrations, добавьте signed_up_but_unconfirmed и установите значение

devise: 
    registrations: 
    signed_up_but_unconfirmed: "Thanks for signing up. We have sent you a confirmational email. Please check your email." 

Надежда это помогает!

+0

Странно. У меня уже есть signed_up_but_unconfirmed ключ: «На ваш адрес электронной почты отправлено сообщение с ссылкой для подтверждения. Перейдите по ссылке, чтобы активировать свою учетную запись». Но по какой-то причине он не срабатывает – yaru

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