Je crée une application Web dont le but est de modifier un mot donné par une lettre. Par exemple, si je fais un post en sélectionnant le mot: "meilleur", alors la première réponse pourrait être "repos", tandis que celle après cela devrait être "louer", "envoyé", etc. Ainsi, le mot un utilisateur entre doit avoir changé d'une lettre du dernier mot soumis. Il serait en constante évolution.Problème avec la validation personnalisée de l'application Rails
À l'heure actuelle, vous pouvez créer un jeu et répondre simplement en tapant un mot. Je codé une validation personnalisée en utilisant la fonctionnalité de la gemme amatch:
http://flori.github.com/amatch/doc/index.html
postes ont beaucoup de réponses, et les réponses appartiens à un poste.
est ici le code:
def must_have_changed_by_one_letter
m = Amatch::Sellers.new(title.strip)
errors.add_to_base("Sorry, you must change the last submitted word by one letter")
if m.match(post.responses.last.to_s.strip) != 1.0
end
Quand je reçois ce que j'essaie d'inscrire une nouvelle réponse pour un poste de test j'ai fait (mot d'origine « meilleur », la première réponse est « repos »):
ActiveRecord :: RecordInvalid dans ResponsesController # create La validation a échoué: Désolé, vous devez modifier le dernier mot soumis par une lettre
Des idées sur ce qui pourrait ne pas fonctionner? Merci!
Avez-vous obtenu des tests unitaires pour cette méthode? – Reactormonk