Ruby-Mechanize:未定义的方法`button_with'

时间:2017-07-19 06:08:50

标签: ruby-on-rails ruby mechanize mechanize-ruby

我的ruby脚本抛出一个错误:未定义的方法`button_with'。 ruby版本是1.9.3-p484,Mechanize版本是2.5.1。 我检查了Mechanize帮助,v2.5.1与Ruby v1.9.3兼容。

form = a.page.form_with(:id => "form-name")
button = form.button_with(:value => "Submit Request")
a.submit(form, button)

a - 是我之前初始化的Mechanize代理

有人可以指导我可能是什么问题或如何调试它?

谢谢!

<form id="form-name" action="/xyz_ajax" method="POST" onsubmit="return false;">
    <div class="form-footer">
          <button class="button button-size-default button-default" type="submit" onclick=";return true;" id="export-csv"><span class="button-content">Export report</span></button>
      <span class="csv-status" id="status-text">
          &nbsp;CSV export is finished.
      </span>
       &nbsp;<a id="download-url" href="/url/sample/abc.htm">Submit Request</a>
    </div>
    <input type="hidden" name="session_token" value="abcde1234">
      <input type="hidden" name="csv_export" value="1">
      <input type="hidden" name="report" value="True">
  </form>

1 个答案:

答案 0 :(得分:0)

是否说NoMethodError: undefined method 'button_with' for nil:NilClass

这意味着formnil,因为form_with(:id => "form-name")无法找到您的表单。