2010-04-05 3 views
0

У меня есть модель Article у нее есть поле title с текстом, который может содержать некоторые «магические» узоры. В некоторых случаях мне нужно обрабатывать текст в заголовке, а в других случаях - нет, но в последнем случае мне нужно получить строку без этих шаблонов.Очистка поля ActiveRecord

Например я иметь значение названия как «Нечто ** очень ** интересно» и когда я называю @article.title мне нужно, чтобы получить очищена строку как «Что-то очень интересными», но когда я называю @article.title_raw мне нужно получить исходную строку.

Проблема также в том, что я работаю приложение и я cannt сделать «революцию», но то, что путь ...

-
Извините за мой плохой английский язык.

+0

Когда вы говорите, есть «Волшебные Patterns «они реализованы напрямую или с использованием какой-либо формы библиотеки разметки, например http://en.wikipedia.org/wiki/Markdown или http://en.wikipedia.org/wiki/Textile_(markup_language) –

ответ

1

вы можете использовать регулярное выражение

@article.title.gsub(/pattern1|pattern2|pattern3|.../, '') 

IE

@article.title 
#=> "Some _cool_ **text**" 
@article.title.gsub(/**|_/, "") 
#=> "Some cool text" 
0

Я бы определил методы по модели статьи под названием «title_raw» и «название», и в этих методах делают изменения необходимо внести в значения и вернуть их в эти функции. Что-то вроде этого:

названия Защиты title.gsub (/ ** | _ /, "") конца

Защиту title_raw self.title конца

Смежные вопросы