我想在 create
方法的末尾重定向到另一个页面 admin_antenna_reader_rfids_path
. 我做了:
def create
@antenna_reader_rfid = AntennaReaderRfid.new(antenna_reader_rfid_params)
if @antenna_reader_rfid.save
render json: {status: true}
redirect_to admin_antenna_reader_rfid_path(q@antenna_reader_rfid)
else
render json: {errors: @antenna_reader_rfid.errors.full_messages, status: false}
end
end
我收到错误 AbstractController :: DoubleRenderError
:
在此操作中多次调用渲染和/或重定向 . 请注意,您只能调用渲染或重定向,每次操作最多一次 . 另请注意,重定向和呈现都不会终止操作的执行,因此如果要在重定向后退出操作,则需要执行类似“redirect_to(...)并返回”的操作 .
我怎么解决这个问题?
3 回答
要处理多种请求格式,您可以使用respond_to
在
respond_to
块中,您可以根据需要呈现所有请求格式,然后根据请求标头,控制器将选择相应的逻辑来响应您 .您必须删除行
render json: {status: true}
,因为您正在尝试使控制器呈现json并同时重定向到HTML页面 . 你必须选一个 .您不能在方法中渲染或返回多次 .