最近转移到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

09-09 20:13
查看更多