has_attribute?проблема - PullRequest
       12

has_attribute?проблема

3 голосов
/ 23 сентября 2010

У меня есть HTML-документ, и мне нужно проверить, представлен ли какой-либо атрибут в рассматриваемом элементе

Предположим, , что атрибут не представлен.

Когда я говорю:

elem.has_attribute? "data-attr"

, он возвращает nil вместо «false».

Когда я говорю:

elem["data-attr"].nil?

, он возвращает «true», вот чтомне нужно.

Но, когда я говорю:

!elem["data-attr"].nil?

, он снова возвращается к нулю.

Когда я говорю:

r = elem["data-attr"].nil?
r = !r

r получает«true» после выполнения первой строки

, но после второй строки «r» снова получает ноль

Какая магия за этим стоит?

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

Почему бы не использовать:

elem["data-attr"].present?

или

elem["data-attr"].blank?
1 голос
/ 23 сентября 2010

Если

elem["data-attr"].nil?

вернет true, почему вы не ожидаете, что

!elem["data-attr"].nil?

вернет ноль?

...