Подтвердить что ты не робот

Как удалить пробелы из атрибутов модели?

Самый простой способ убедиться, что модели обрезают ведение и завершение пробела со строковых значений.

Один неудобный способ выглядит как фильтр before_save - хотя для чего-то такого же общего, как удаление пробела из строк, может быть, есть какая-то конфигурация, которая делает это?

4b9b3361

Ответ 2

Существует не встроенный параметр global/config по той причине, что вы не захотите всегда делать это, поэтому лучше всего делать это в каждом случае, как вы описываете, и с strip(field) в переднем фильтре, Существует драгоценный камень, хотя, как описано Джейкобом.

Я также рекомендую соблюдать осторожность при любых манипуляциях с пользовательскими значениями. Общей практикой является сохранение "любого" типа пользователя, "бородавки и все" (хорошо в этом случае, пробелы в этом случае). Затем манипулируйте внутри и форматируйте для отображения по мере необходимости.
Основная причина рассуждения заключается в том, что когда пользователь повторно редактирует свою информацию, лучше дать им "именно то, что они набрали раньше", а не попасть в то, что может оказаться сложной проверкой и очень хрупкими пользовательскими интерфейсами.

Еще одно побочное решение, обязательно используйте поля "соответствующие данным", например. не храните даты в строках, это требует неприятностей.

Ответ 3

У меня будет только фильтр, который выполняется до проверки и разрывает все параметры, чтобы обрезать их. Если вы поместите его на свой базовый класс контроллера, вы просто установите его и забудете.

Ответ 4

Действительно, это слишком раздражало меня - поэтому я написал это

https://github.com/omarqureshi/AR-stripper

опубликует это как драгоценный камень рано или поздно, но тем временем просто

gem 'stripper', :git => "[email protected]:omarqureshi/AR-stripper.git"

в вашем Gemfile будет делать

Ответ 5

Вы также можете использовать обратный вызов для удаления пробелов без использования драгоценного камня.