2009-07-28 5 views
4

Quelqu'un peut-il partager quelques guides, astuces ou liens vers ce qui constitue les meilleures pratiques pour créer un modèle qui représente un formulaire de contact qui n'est pas sauvegardé par une table dans la base de données, mais peut encore valider les données saisies?Rails ContactForm avec modèle non ActiveRecord - validations

Merci.

EDIT: J'ai oublié de mentionner que si c'est une gemme ou un plug-in, cela devrait fonctionner avec Ruby 1.9.1 sur Rails 2.3.2.

Ce - stackoverflow.com/questions/315850/rails-model-without-database ne coupe pas vraiment, car il est un peu vieux et non maintenu et ni le fait - stackoverflow.com/questions/937429/activerecordbase-without-table-rails car il est assez incomplet.

+0

Rails 3 prend en charge tabl modèles eless - http://stackoverflow.com/questions/5118203/how-do-i-validate-a-non-model-form-in-rails-3 – Nitrodist

Répondre

2

Vérifiez la gemme validable.

class Person 
    include Validatable 
    validates_presence_of :name 
    attr_accessor :name 
end 

Voir: http://validatable.rubyforge.org/

Voir: http://rorblog.techcfl.com/2008/04/02/custom-form-validations-without-activerecord/

Cela a également été demandé à plusieurs reprises sur StackOverflow:

Rails model without database

ActiveRecord::Base Without Table

+0

Merci pour la gemme validable. Je vérifierai. En ce qui concerne le dupe, j'ai vu ces questions, mais la solution pour les deux était d'étendre à partir des méthodes de base et prioritaire, et je ne pense pas que ce soit la meilleure façon d'y parvenir. Dois-je l'avoir mentionné dans la question afin de ne pas être déprécié? – andi

+0

@andi: C'est généralement une bonne règle. Sinon, il semble que vous étiez juste paresseux. J'ai enlevé mon downvote, merci pour la réponse. – hobodave

+0

Oui, vous avez probablement raison. Je ne suis pas fainéant, mais je cherche juste une bonne solution. Quoi qu'il en soit, la gemme validable semble l'être. Je ne sais pas * comment * je ne l'ai pas vu, comme j'ai lu cet article de blog - http://www.prestonlee.com/2007/12/29/rails-20-validations-without-extending-activerecordbase/182 - et il est affiché dans les commentaires comme une meilleure alternative. Je vais essayer la gemme et vous le faire savoir. Merci. – andi

Questions connexes