2015-06-04 4 views
1

Теперь я получаю сообщение об ошибке, как это:Настройка пустых ошибок в Devise

Email can't be blank 

я могу изменить только эту часть

can't be blank 

errors: 
    messages: 
     blank: cannot be empty 

Но после того, как это показывает, как:

Email cannot be empty 

Могу ли я изменить имя поля? сделайте это как

E-mail_something_else cannot be empty? 

Как это сделать?

Мое поле в виде:

<div class="field"> 
    <%= t('registration.email') %><br /> 
    <%= f.email_field :email, autofocus: true, :class => "form-field" %> 
</div> 
+0

Вы перезапустили сервер после изменения файла? –

+0

Не могли бы вы пройти мимо вашей формы просмотра –

+0

@ArslanAli да, я перезапустил его –

ответ

1

Попробуйте в файле devise_en.yml:

формат
en: 
    errors: 
     format: "%{message}" 

по умолчанию "% {атрибут}% {сообщение}".

0

Вы можете просто искать этикетки вам нужно, например, если вы ищете :already_confirmed (то есть метка в файле локаль), вы увидите, что в файл:

lib/devise/models/confirmable.rb 

есть эта линия:

self.errors.add(:email, :already_confirmed) 

Если изменить email в любом ключе.

EDIT: Я ищу в их GitHub репо, так что я не пользователь это правильно, но, возможно, сообщение, Вам необходимо в файле:

lib/devise/models/authenticatable.rb 

в строке 269

record.errors.add(key, value.present? ? error : :blank) 
+0

яснее, чем мое решение: [ответ] (http://stackoverflow.com/a/18578028/4898937) – ciaoben

+0

нет, это тоже не помогает –

+0

Вы прочитайте ссылку? – ciaoben

1

Я бы посоветовал, если вы хотите изменить Валидационное сообщение для разработки.

Вот как en.yml должен выглядеть

en: 
    activerecord: 
    errors: 
     models: 
     user: 
      attributes: 
      email: 
       blank: "Please Specify an Email id" 
       taken: "Please use a different Email id" 
       invalid: "Please Specify a valid Email id" 
      password: 
       blank: "Please Specify a Password" 
       confirmation: "Password does not match" 
      password_confirmation: 
       blank: "Please Specify a Password Confirmation" 
      first_name: 
       blank: "Please Specify First Name" 
      last_name: 
       blank: "Please Specify Last Name" 
     pdf: 
      attributes: 
      name: 
       blank: "Please Specify name to PDF" 
       taken: "Please use different name for PDF" 
      attachment: 
       blank: "Please Upload a PDF Attachment" 
     data_element: 
      attributes: 
      name: 
       blank: "Please give Element a desired name" 
       taken: "Already Created Element with given name" 
      color: 
       blank: "Please assign a color to Element" 
     template: 
      attributes: 
      name: 
       blank: "Please Specify a Name" 
       taken: "Please use a different name" 

Пример => Я удалил выше модуль проверки Разрабатывают и затем substitue самостоятельно в модели пользователя.

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

+0

@Orkhan: пожалуйста, обратитесь к этой ссылке http://stackoverflow.com/questions/9325176/devise-custom-messages-when-validation-fails. –

+0

Он печатает: 'Email Пожалуйста, укажите идентификатор электронной почты' = / –