我无法用录像机录制任何内容,我有这样的设置:
spec_helper.rb
require 'vcr'
VCR.configure do |c|
c.cassette_library_dir = 'spec/cassettes'
c.hook_into :webmock
c.configure_rspec_metadata!
c.default_cassette_options = { :record => :new_episodes }
end
Run Code Online (Sandbox Code Playgroud)
并测试:
describe SomeClass do
describe '#foo', vcr: true do
it 'should do http request', do
expect(subject.do_request).to be_true
end
end
end
Run Code Online (Sandbox Code Playgroud)
运行该规范会导致:
.HTTPI executes HTTP GET using the net_http adapter
SOAP request: (...)
Run Code Online (Sandbox Code Playgroud)
完全像没有录像机.遗憾的是文档中没有任何内容.我在这里报告了类似的问题,但要求httpi不会产生任何影响.要做到这一点应该怎么做?
我在erb中有以下代码可以正常工作:
<div id='flash_<%= flash.keys.first.to_s %>'>
<%=h flash[flash.keys.first] %>
</div>
Run Code Online (Sandbox Code Playgroud)
我想把它转换为haml:
#flash_#{flash.keys.first.to_s}
=h flash[flash.keys.first]
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Illegal element: classes and ids must have values.
Run Code Online (Sandbox Code Playgroud)
这是奇怪的,因为有IS值,'flash_'部分始终存在,即使我这样做,我也会得到错误:
#flash_#{nil.object_id}
Run Code Online (Sandbox Code Playgroud)
显然我的Ruby插值在haml中有些不对劲,但我无法做到.根据文档http://haml.info/docs/yardoc/file.REFERENCE.html#ruby_interpolation_# {}用于内插Ruby,它适用于这种情况:
#flash_
#{flash.keys.first.to_s}
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的.
总之,我想得到以下输出:
<div id="flash_foo"> blahblah </div>
Run Code Online (Sandbox Code Playgroud)
但它也可以:
<div id="flash_"></div>
Run Code Online (Sandbox Code Playgroud)
如何用haml获得?
我的申请已经开始,然后我继续注册.输入我的信息后,我收到一个错误页面说:
用户控件#creore中的Errno :: ECONNREFUSED
Connection refused - {:data=>"<?xml version=\"1.0\" encoding=\"UTF-8\"?><add><doc><field name=\"id\">User 1</field><field name=\"type\">User</field><field name=\"type\">ActiveRecord::Base</field><field name=\"class_name\">User</field><field name=\"username_text\">mikeadeleke</field><field name=\"bio_text\">Founder of Edopter</field></doc></add>", :headers=>{"Content-Type"=>"text/xml"}, :method=>:post, :params=>{:wt=>:ruby}, :query=>"wt=ruby", :path=>"update", :uri=>#<URI::HTTP:0x007fb6c3c911d0 URL:http://localhost:8982/solr/update?wt=ruby>, :open_timeout=>nil, :read_timeout=>nil, :retry_503=>nil, :retry_after_limit=>nil}
Run Code Online (Sandbox Code Playgroud)
消息:
app/controllers/users_controller.rb:14:in `create'
Run Code Online (Sandbox Code Playgroud)
所以这是我的代码导致了阻塞.我看到没有问题,并通过roodi验证器运行它.
class UsersController < ApplicationController
before_filter :get_user, except: [:new, :create]
def get_user
@user = User.find_by_username(params[:user_name])
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Woohoo! Thanks for creating an account. Feel free to edit your profile or look …Run Code Online (Sandbox Code Playgroud)