2013-03-31 6 views
0

Использование Rails. У меня есть следующий в модели:Массаж нескольких атрибутов перед сохранением

before_save :strip_tags 

private 

def strip_tags 
    self.name = ActionController::Base.helpers.strip_tags(self.name) 
    self.description = ActionController::Base.helpers.strip_tags(self.description) 
end 

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

ответ

0

Вы можете попробовать следующее, что дает намного больше линий и изменяет когда атрибутов устанавливаются (вы используете before_save так что это не будет работать, если вам нужны HTML-теги в ваших валидациях).

def name=(string) 
    write_attribute :name, strip_tags(string) 
end 

def description=(string) 
    write_attribute :description, :strip_tags(string) 
end 

private 

def strip_tags(string) 
    ActionController::Base.helpers.strip_tags string 
end 
Смежные вопросы