Я относительно новичок в Rails и немного удивлен, что это не настраиваемое поведение ... по крайней мере, я не смог найти еще?!? Я бы подумал, что 99% форм выиграют от удаления пробелов во всех строковых
и текстовых
полях?!? Думаю, я ошибаюсь ...
Тем не менее, я ищу СУХОЙ способ удалить все пробелы из полей формы (типа: строка и: текст) в приложении Rails 3.
У представлений есть помощники, на которые автоматически ссылаются (включены?) И которые доступны каждому представлению ... а в моделях вроде нет такого?!? Или они?
Итак, в настоящее время я делаю следующее: сначала требует и , затем включает whitespace_helper (он же WhitespaceHelper). но мне это все еще кажется не очень СУХИМ, но он работает ...
ClassName.rb:
require 'whitespace_helper'
class ClassName < ActiveRecord::Base
include WhitespaceHelper
before_validation :strip_blanks
...
protected
def strip_blanks
self.attributeA.strip!
self.attributeB.strip!
...
end
lib / whitespace_helper.rb:
module WhitespaceHelper
def strip_whitespace
self.attributes.each_pair do |key, value|
self[key] = value.strip if value.respond_to?('strip')
end
end
Думаю, я ищу единственный (СУХИЙ) метод ( class?), чтобы поместить куда-нибудь ( lib /
?), который будет принимать список параметров (или атрибутов) и удалять пробелы ( .strip!
?) из каждого атрибута без назван конкретно.