2

ちょっとした楽しみとして、非常に小さな Rails ブログを書きました (ただの Hello World です)。次に、mechanize を使用して投稿を作成します。そこで、Ruby Prog を作成し、コーディングを開始しました。

ここに私の問題があります: Rails は、すべての入力を含むフォーム要素を作成します。HTML では、私の入力は次のようになります。

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

また

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

さて... Mechanizeを使用した私のRuby Progは次のとおりです。

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"

エラーの場所はわかっていますが、修正方法がわかりません。target_form.post[title] = "test" でクラッシュします。

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

私は(私を修正してください)、それは入力された名前が原因だと思います.post[title]だけではなく、post[title]ですよね?どうすれば修正できますか?

4

1 に答える 1

5

どうですか

target_form.field_with(:name => "post[title]").value = "test"
target_form.field_with(:name => "post[description]").value = "test"
于 2010-03-11T10:07:51.533 に答える