我想在rails控制器操作中重定向到另一个url
。像
def action_name
redirect_to url
end
我知道我可以简单地使用上述方法。但我想在我的所有应用程序中只重定向一个动作。因为这个我不想把它包含在控制器中。
include ActionController::Redirecting
有没有其他方法可以在api应用程序中重定向到uri。感谢。
答案 0 :(得分:2)
您可以使用respond_with
根据请求类型和传递给respond_with
的模型的状态,使用适当的响应进行响应。
def create
@thing = Thing.create(thing_params)
respond_with(@thing)
end
如果请求成功,这将提供201 - Created
状态和位置标头,如果验证失败,则会提供422 - Unprocessable Entity
。
另外,您可以head
使用send a header only response而不使用正文。
def action_name
head :not_found, location: url
end
请注意,:not_found
可以是任何适当的HTTP状态。
答案 1 :(得分:0)
如果您使用的是Rails API:
沿路径行进,走params
,然后返回:
redirect_to controller: "client", action: "get_name", params: request.query_parameters and return