繁体   English   中英

ParksController#create 缺少此请求格式和变体的模板。 request.formats: [“text/html”] request.variant: []

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

我正在创建一个带有模式的公园。 当我不在表单中保存图片时,一切似乎都正常。 当我添加图片并尝试创建/保存时,图片被保存,但我收到一条错误消息:

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" \

我忽略了一些东西,但看不到什么。

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

创建操作后,您不会重定向到另一个视图。 你在那里回应 html ,但没有做任何事情。 通常在创建之后,用户被重定向到索引视图。 我认为,如果您将块传递给 html 响应并重定向,则错误将自行解决。

IE:

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

此外,您的end已为您的if @park.save

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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