最近转移到Rails 4并遇到了我以前没有遇到过的错误。
我正在尝试测试使用Capybara/Rspec制作的表单。
当我单击表单上的按钮时,出现的错误是:
Failure/Error: find(".submit.button").click
ActionController::UnknownFormat:
ActionController::UnknownFormat
# ./app/controllers/office_listings_controller.rb:32:in `create'
# ./spec/features/office_listings_spec.rb:78:in `block (3 levels) in <top (required)>'
它指向我的 Controller ,看起来像:
def create
selected_amenities = params[:amenities] || [] # empty list if no amenities checked
@office_listing = OfficeListing.new(params[:office_listing])
@office_listing.broker = current_broker
p current_broker
@office_listing.neighborhood = Neighborhood.find(params[:neighborhood_id])
p @office_listing.neighborhood
if @office_listing && @office_listing.save!
@path = city_neighborhood_office_listing_path(@office_listing, :city_id => @office_listing.neighborhood.city.id, :neighborhood_id => @office_listing.neighborhood.id)
create_amenities(@office_listing, selected_amenities)
respond_to do |format|
format.js
end
else
@failure = "Unable to create office :-("
respond_to do |format|
format.js
end
end
end
而且它不喜欢format.js行
即使我有一个create.js.erb文件,该文件在我实际运行页面时也会呈现。
不明白为什么实际页面正在运行,但是我的测试失败了。
任何想法将不胜感激!
最佳答案
我有一个类似的问题:
post :duplicate, id: patient.media.first.id
产生了相同的错误:
Failure/Error: post :duplicate, id: patient.media.first.id
ActionController::UnknownFormat:
ActionController::UnknownFormat
我通过将格式添加到post调用中来修复它:
post :duplicate, id: patient.media.first.id, format: :js