Juste pour le fun, j'ai écrit un très petit blog de rails (juste un monde bonjour). Maintenant, je veux créer un message en utilisant mécaniser. J'ai donc créé un Ruby Prog et commencé à coder.Ruby: Problèmes d'utilisation de Mechanize pour accéder à mon formulaire!
Voici mon problème: Rails crée mon élément de formulaire incluant toutes les entrées. En HTML mes entrées ressembler à ceci:
<input type="text" size="30" name="post[title]" id="post_title">
ou
<textarea rows="20" name="post[description]" id="post_description" cols="40"></textarea>
Eh bien ... Voici mon utilisant Ruby Prog Mechanize:
require 'rubygems'
require 'mechanize'
agent = WWW::Mechanize.new
page = agent.get('http://localhost:3000/posts/new')
target_form = page.form_with(:class => 'new_post')
target_form.post[title] = "test"
target_form.post[description] = "test"
page = agent.submit(target_form)
puts "end"
Je sais où mon erreur est mais je ne sais pas comment le réparer. A target_form.post [title] = "test", il se bloque, cause de
undefined method `name' for nil:NilClass (NoMethodError)
Je pense que (s'il vous plaît me corriger), il est à cause du nom de l'entrée, car il est [titre] poste au lieu de seulement après droite? Comment puis-je le réparer?
probablement votre '' target_form' est nil', donc 'page.form_with (: class => 'new_post')' 'est de retour nil'. – klew