简体   繁体   中英

ParksController#create is missing a template for this request format and variant. request.formats: [“text/html”] request.variant: []

I'm creating a park with a modal. Everything seems to work fine when I'm not saving a picture in the form. When I do add a picture and try to create/save, the picture gets saved, but I get an error message saying:

ParksController#create is missing a template for this request format and variant. request.formats: ["text/html"] request.variant: []

"\nrequest.variant: #{request.variant.inspect}"

        raise ActionController::UnknownFormat, message
      elsif interactive_browser_request?
        message = "#{self.class.name}\##{action_name} is missing a template " \
          "for this request format and variant.\n\n" \

I'm overlooking something, but don't see what.

controller

class ParksController < ApplicationController
  skip_before_action :verify_authenticity_token
  after_action :verify_authorized

 def new
    @park = current_user.parks.build

    respond_to do |format|
      # format.html { redirect_to root_url, alert: 'Page not accessible' }
      format.html
      format.js
    end
    authorize @park
  end

  def create
    @park = current_user.parks.create(park_params)
    authorize @park
      respond_to do |format|
        if @park.save
        format.js
        format.html
      # end
    else
      format.js{render 'new'}
    end
  end
  end

You're not redirecting to another view after the create action. You're responding to html there, but not doing anything with it. Usually after a create, the user is redirected to the index view. I think if you passed a block to the html response and redirected, the error would resolve itself.

ie:

...
respond_to :html { redirect_to index_path }
...

Also, you have your end commented out for your if @park.save

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM