我的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">
CSV export is finished.
</span>
<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>
答案 0 :(得分:0)
是否说NoMethodError: undefined method 'button_with' for nil:NilClass
?
这意味着form
为nil
,因为form_with(:id => "form-name")
无法找到您的表单。