Rails 3 удаляет пробелы перед_валидацией во всех формах

Я относительно новичок в 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! ?) из каждого атрибута без назван конкретно.

6
задан Meltemi 28 November 2010 в 06:28
поделиться