Ruby on rails 3 我使用capybara访问方法得到一个空页面,但响应对象有内容

Ruby on rails 3 我使用capybara访问方法得到一个空页面,但响应对象有内容,ruby-on-rails-3,rspec,capybara,Ruby On Rails 3,Rspec,Capybara,好的,我正在使用capybara+rails 3+rspect 我正在尝试登录到我的站点,但即使我在使用fill\u in方法时没有收到错误,但我在click\u on方法时收到错误,因为它找不到我尝试单击的元素 以下是我的HTML代码: <form accept-charset="UTF-8" action="/" class="filter_form" id="login" method="post"> <fieldset> <

好的,我正在使用capybara+rails 3+rspect

我正在尝试登录到我的站点,但即使我在使用
fill\u in
方法时没有收到错误,但我在
click\u on
方法时收到错误,因为它找不到我尝试单击的元素

以下是我的HTML代码:

<form accept-charset="UTF-8" action="/" class="filter_form" id="login" method="post">
        <fieldset>
          <div class="modal-body">
            <div class="clearfix login-fields">
              <label for="user_email">Email</label>
              <div class="input login-inputs">
                <input class="input-text" id="user_email" name="user[email]" placeholder="email" size="30" type="email" value="">
              </div>
            </div>
            <div class="clearfix login-fields">
              <label for="user_password">Password</label>
              <div class="input login-inputs">
                <input class="input-text" id="user_password" name="user[password]" placeholder="password" size="30" type="password">
              </div>
            </div>
          </div>
          <div class="modal-footer">
            <input class="btn btn-primary login_btn" id="btn_login" name="commit" type="submit" value="Sign in">
            <a href="/lms/forgot_password" class="btn">Forgot password...</a>
            <a href="#" class="btn close cancel" data-dismiss="modal">Cancel</a>
          </div>
        </fieldset>
</form>
最糟糕的是,当我在
p page.body
之前点击
时,我看到以下代码:

<html xmlns=\\\"http://www.w3.org/1999/xhtml\\\"><head></head><body></body></html>\
\
但是如果我将其更改为
p response.body.inspect
,那么我将获得页面的完整html代码…,
visit
方法是否应该在
页面上加载响应的内容

任何帮助都将不胜感激,这让我发疯:)

添加那一行:

config.include Capybara::DSL
到spec/spec_helper.rb:

RSpec.configure do |config|
   .....

   config.include Capybara::DSL

   .....
end
添加该行:

config.include Capybara::DSL
到spec/spec_helper.rb:

RSpec.configure do |config|
   .....

   config.include Capybara::DSL

   .....
end

response.body的内容是有效的html吗?是的,这是我正在访问的页面…不,我的意思是html是否通过验证程序?水豚使用Nokogiri解析HTML,这可能会出错。我这样问是因为我在你发布的HTML中看到了一个尾随斜杠。response.body的内容是有效的HTML吗?是的,这是我正在访问的页面…不是,我的意思是HTML是否通过了验证程序?水豚使用Nokogiri解析HTML,这可能会出错。我这样问是因为我在你发布的HTML中看到了一个尾随的斜杠。