Formtastic: Сообщения об ошибках валидации не переводят значения шаблона локали в значение - PullRequest
0 голосов
/ 16 февраля 2011

Rails v2.3.8

formtastic v1.1.0

Формы отображаются правильно, проверка работает, но сообщения проверки для всего, что связано с длиной строки, отображаются как:

is too short (minimum is {{count}} characters)

В основном {{count}} не заполняется. В irb я вижу, что значение находится в @options ActiveRecord :: Errors:

>> u.errors
=> #<ActiveRecord::Errors:0x7f98785b4ab0 @errors=#<OrderedHash {"password"=>[#<ActiveRecord::Error:0x7f9878561b30 @type=:too_short, @options={:default=>nil, :count=>4},...

Обратите внимание, что это проверка для модели User, выполняемой authlogic v2.1.6 (которая может быть неактуальной).

--- ОБНОВЛЕНИЕ ---------:

После еще нескольких копаний я скопировал файл локали en.yml из директории gem activerecord-2.3.8 в директорию config / locales моего локального приложения. После изменения всех {{count}} на% {count} вещи теперь отображаются правильно.

Может быть, ошибка с formtastic v1.1.1, работающей с rails v2.3.8? Список изменений обычно говорит о нескольких вещах, на которые он может упасть. Доступно несколько новых версий formtastic. К сожалению, я не могу обновить эту среду, поэтому собираюсь настроить другую для тестирования более новых версий formtastic.

1 Ответ

0 голосов
/ 24 февраля 2011

Сообщения, которые отображают такие вещи, как {{count}}, а также {{model}} и {{attribute}}, были замечены в последнее время и могут также быть следствием того, что на серверах есть приложения Rails3.

Существует несколько общих исправлений:

1) Увеличение с 2.3.8 до 2.3.9 или 2.3.10. Очень незначительные изменения, не должно повлиять на что-либо еще (хотя, конечно, тест). Так что просто измените свою версию rails в environment.rb

2) включает гем для конкретной версии il8n, например (0.4.2), в environment.rb добавьте строку для:

gem il8n,: version => '0.4.2'

bundler тоже может очень помочь, хотя стандарт с Rails3, я считаю, что шаги по изменению существующего приложения 2.3.x для его использования (разве это не то, что вам обычно нужно знать?) Следующие. Ну, очевидно, установите его, проб. gem install bundler затем возьмите (в конце концов, удалив их там) все ваши существующие операторы 'gem ...' из вашего файла environment.rb и поместите их в Gemfile, а затем с помощью таких команд: комплектация или же обновление пакета Вы можете создать «связку». Приведенная выше команда создает Gemfile.lock с версиями, которые вы используете.

Также, если у вас несколько версий огурцов или вы запускаете тесты в IDE, могут потребоваться следующие команды: Buccle Exec Cucumber Features / user_can_login.feature или же Bugle Exec Cucumber Features / user_can_login.feature: 6 (конкретный номер строки).

...