2013-07-13 3 views
0

загрузки формы с пользовательской проверкой подлинностью генерирует NoMethodErrorстороны клиента-валидаций пользовательский метод не определен

undefined method `validates_soggetti' 

установка

gem 'rails', '3.2.13' 
gem 'client_side_validations', :github => 'bcardarella/client_side_validations', :branch => '3-2-stable' 

инициализатор имеет блок для прикрепленных сообщений незакомментированных.
приложение/валидаторы/soggetti_validator.rb содержит

class SoggettiValidator < ActiveModel::EachValidator 

    def validate(record) 
    unless :quantita >= :soggetti 
     record.errors.add(:soggetti, :too_big) 
    end 
    end 

    module ActiveModel::Validations::HelperMethods 
    def validates_soggetti(*attr_names) 
     validates_with SoggettiValidator, _merge_attributes(attr_names) 
    end 
    end 

end 

Model

class Bozza < ActiveRecord::Base 
    attr_accessible :height, :quantita, :soggetti, :width 

    validates_presence_of :height, :width, :quantita 
    validates_numericality_of :height, :width 
    validates_numericality_of :quantita, :only_integer => true 
    validates_numericality_of :soggetti, :only_integer => true 

    validates_soggetti :soggetti 
end 

измененного сообщение об ошибке для таблиц YAML и через rails.validations.customValidators.js файл также пытался путем добавления в приложении. js

//= require rails.validations.customValidators 

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

ответ

0

Решено путем создания под/lib файла validations_helpers.rb с инструкцией модуля.

module ActiveModel::Validations::HelperMethods 
    def validates_soggetti(*attr_names) 
     validates_with SoggettiValidator, _merge_attributes(attr_names) 
    end 
    end 

и вызов модуля в соответствующих контроллерах.

также модель должна указать rails3 путь:

validates :height, :presence => true, :numericality => true 
    validates :width, :presence => true, :numericality => true 
    validates :quantita, :presence => true, :numericality => {:only_integer => true} 
    validates :soggetti, :soggetti => true, :numericality => {:only_integer => true} 

, который немного отличается от инструкций по https://github.com/bcardarella/client_side_validations что свидетельствует validates_myCustomValidation

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