Стандартная проверка Rails помещает мои заполненные ошибками поля в div
класса fieldWithErrors
.
Как я могу изменить его так, чтобы родительскому элементу с ошибкой был назначен этот класс вместо создания нового div
на странице?
РЕДАКТИРОВАТЬ:
На этом веб-сайте ошибки заключаются в span
вместо div
s, что немного помогает при форматировании, но я бы очень хотел просто вставить класс ошибки в родительский элемент ...
app/config/environment.rb
(в блоке инициализатора):
config.action_view.field_error_proc = Proc.new { |html_tag, instance| %(<span class="fieldWithErrors">#{html_tag}</span>) }
Метод Hpricot, указанный на этом сайте похоже на то, что я хочу, но я не знаю, куда я должен это положить. Я также продолжаю получать ошибки uninitialized constant ActionView
. Кто-нибудь может помочь?
2 ответа
Потрясающие!
Я понял, как заставить работать < / a> (знаю, я такой новичок).
Создайте новый файл в app/config/initializers
; Я позвонил в свой error_formatting.rb
.
Вставьте туда оптимизированный метод с указанного выше веб-сайта:
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
...
end
Сохранить. Добавьте немного hpricot с щепоткой config.gem 'hpricot'
в блок инициализатора app/config/environment.rb
, затем rake gems:install
, перезапустите приложение, и теперь мое приложение работает именно так, как я хочу, как милый маленький котенок.
Вы всегда можете просто установить div с классом fieldWithErrors для отображения в строке. Вы можете использовать CSS вместо того, чтобы пытаться переопределить метод упаковки валидации.
Похожие вопросы
Новые вопросы
ruby-on-rails
Ruby on Rails - это полнофункциональная платформа веб-приложений с открытым исходным кодом, написанная на Ruby. Он следует популярной модели фреймворка MVC и известен своим подходом «соглашение поверх конфигурации» при разработке приложений.