2012-03-22 21 views
18

Obecnie próbuję sprawdzać poprawność pól bez dziedziczenia ActiveRecord::Base.Ruby on Rails: Jak sprawdzić poprawność modelu bez Active Record?

Mój model przechowuje dane na serwerze pamięci podręcznej, więc nie potrzebuję ActiveRecord.

W każdym razie chciałbym sprawdzić pola modelu tak jakbym, gdybym używał ActiveRecord (np. validates_numericality_of :quantity, :greater_than => 0)?

Jak mogę to zrobić?

Dziękuję bardzo za pomoc.

+0

Uważam, że jest to pytanie: http://stackoverflow.com/questions/315850/rails-model-without-database –

Odpowiedz

27

W Railsach 3 model aktywny zawiera funkcję bazy danych ActiveX bez bazy danych.

Zasadniczo trzeba podać ActiveModel::Validations, definiowania pól jako attr_accessor, należy użyć metody initialize zainicjować atrybutów i ich nie trwało jak dany model nie jest zachowywane w bazie danych.

W ten sposób można sprawdzać poprawność na tableless modelu i kontroler, tak samo, jak w przypadku Active Record. Jest też Railscast na tym http://railscasts.com/episodes/219-active-model.

1

Zamiast tego sprawdź nasze Veto gem, jeśli szukasz samodzielnego sprawdzania poprawności obiektów ruby. Jest lekki i nie ma zależności. ActiveModel może być przesadny.