簡體   English   中英

Rails:在 Controller 操作導致“缺少此請求格式和變體的模板”錯誤之后渲染 JSON

[英]Rails: Render JSON after Controller action results in “missing a template for this request format and variant” error

我有這個簡單的管理員 controller 並且我試圖在調用 #reset 操作后顯示一條消息,以便在操作完成時向管理員提供反饋(因為它執行 de seed.rb文件)

該操作執行得很好,但我無法讓它顯示msg ,並且我在服務器日志中收到此消息:

ActionController::UnknownFormat (Api::V1::AdminController#reset is missing a template for this request format and variant.

request.formats: ["application/json"]
request.variant: []):


class Api::V1::AdminController < Api::V1::BaseController
  before_action :initialize

  def seed
    @builder.process_file
  end

  def reset
    Rails.application.load_seed do
      msg = { :status => "ok" }
      respond_to do |format|
           format.json  { render :json => msg }
         end
    end
  end

  private

  def initialize
    @builder = PaymentBuilder.new
  end
end

我究竟做錯了什么?

編輯:

我必須在 controller 的 class 級別聲明respond_to:json並將操作塊更改為

  def reset
    Rails.application.load_seed
    msg = { :reset => "OK" }
      respond_with do |format|
        format.json  { render :json => msg }
      end
  end

現在渲染得很好。

我想這是因為你在塊內渲染,我認為你不能那樣做

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM