Domanda

Solo per divertimento, ho scritto un piccolo rotaie blog (solo un ciao mondo). Ora voglio creare un post con la meccanizzazione. Così ho creato un rubino Prog e ha iniziato la codifica.

Ecco il mio problema: Rails crea il mio elemento forma, ivi compresi tutti gli ingressi. In HTML miei ingressi simile a questa:

<input type="text" size="30" name="post[title]" id="post_title">

o

<textarea rows="20" name="post[description]" id="post_description" cols="40"></textarea>

Bene ... Ecco il mio rubino programmi mediante 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"

So dov'è il mio errore non è che non so come risolvere il problema. A target_form.post [titolo] = "test" si blocca, causa di

undefined method `name' for nil:NilClass (NoMethodError)

Credo che (per favore correggetemi), è a causa del nome di ingresso, perché si tratta di post [titolo] anziché soltanto palo destro? Come posso risolvere il problema?

È stato utile?

Soluzione

Come su

target_form.field_with(:name => "post[title]").value = "test"
target_form.field_with(:name => "post[description]").value = "test"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top