Следует: неизвестная ошибка с validates_each - PullRequest
0 голосов
/ 25 сентября 2010

Я ужасно пытаюсь понять, в чем проблема моего метода проверки.

Я установил musta, и когда я пытался использовать его, он выдает ошибку странным неопределенным методом NoMethodError: undefined method '[]' for false:FalseClass, которыйочень странно.

Я сузил его до этого фрагмента кода:

validates_each :name do |record, attr, value|
  name_hash = self.parse_name(value)
  record.errors.add attr, 'must have a first and last name' if
    ( name_hash[:first_name].nil? || name_hash[:last_name].nil? )
end

Вы можете увидеть полную ошибку, модель-нарушитель (упрощенно), тестовый пример и информацию о средев gist-596202

Любое понимание будет с благодарностью.

1 Ответ

2 голосов
/ 25 сентября 2010

Ваш метод parse_name начинается с этой строки:

return false unless name.is_a?(String)

Это будет означать, что значение не является строкой (вероятно, ноль), когда вы пытаетесь его проверить.Метод соответствия musta для validate_presence_of протестирует его с нулевым значением, поэтому вы получаете ошибку.

...