Пользовательская проверка без модели в рельсах - PullRequest
0 голосов
/ 20 августа 2011

Я создал следующий класс только для проверки и пользовательской проверки параметров для моего сообщения ajax:

class Message
  include ActiveModel::Validations
  include ActiveModel::Conversion  
  extend ActiveModel::Naming  

  attr_accessor :attributes

  validates_inclusion_of :temp_inside, :in => 0..30
  validates_inclusion_of :temp_outside, :in => -50..20
  validates_presence_of :isol
  validates_inclusion_of :height, :length, :width, :in => 1..500
  validate :temp_outside_cannot_be_greater_than_temp_inside 

  def temp_outside_cannot_be_greater_than_temp_inside  
     errors.add(:temp_outside, "can't be greater than total value") if
        temp_outside > temp_inside
  end

  def initialize(attributes = {})
    @attributes = attributes 
  end

  def read_attribute_for_validation(key)
    @attributes[key]
  end

  def persisted?  
    false  
  end
end

и получаю следующую ошибку внутри "temp_outside_cannot_be_greater_than_temp_inside"

NoMethodError (undefined method `>' for :temp_outside:Symbol):

любая идея

1 Ответ

0 голосов
/ 21 августа 2011

Вам нужно проверить значение temp_outside, так как в данном случае оно кажется символом, а не числом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...