我有一个简单的管理员控制器,我正试图在调用#reset操作后显示一条消息,以便在操作完成时(当它执行deseed.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
我做错了什么?
编辑:
我不得不在控制器的类级别声明respond_to :json
,并将操作块更改为
def reset
Rails.application.load_seed
msg = { :reset => "OK" }
respond_with do |format|
format.json { render :json => msg }
end
end
现在它看起来很好。
我想发生这种情况是因为你在块内部渲染,我认为你不能用的方式