Как написать видимую проверку количества символов в Ruby on Rails - PullRequest
2 голосов
/ 09 сентября 2011

(как продолжение этого вопроса: В Jquery AND Rails, как получить видимое количество символов в строке? )

Допустим, у вас есть строка со встроенными ссылками итеги вроде:

 This string has <a href="http://www.google.com">some links</a> inside it.

Тогда видимая пользователю строка:

 This string has some links inside it.

Полная строка содержит 73 символа, а видимая всего 37 символов.

Допустим, теперь я хочу написать проверку рельсов (пользовательскую проверку), которая проверяет видимую длину строки.то есть:

 validate :string_visible_length

 def string_visible_length
      #some code that verifies the character length of a field named :field_name
 end

Есть идеи, как этого добиться?Мне нужно убрать HTML-теги, а затем проверить длину символа.

1 Ответ

4 голосов
/ 09 сентября 2011

Я думаю, вы могли бы использовать метод strip links в своей проверке.

Сделать помощников доступными в файле модели:

  include ActionView::Helpers

Вот проверка:

  validate :string_visible_length

private

  def string_visible_length
    visible_string = strip_links(self.column_name) # where column_name is the field you need validated
    errors.add(:base, 'Visible string is too long') if visible_string.length > 20 # 20 is whatever length you need
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...