我正在尝试对rails(5.1.3)应用程序进行ajax调用。我希望控制器中的目标操作呈现状态代码200,而不执行任何其他操作。这是动作的样子。
def some_delete_action
respond_to do |format|
format.js do
render status: 200, layout: false
end
end
end
问题是rails尝试加载与该操作关联的模板。由于我的应用中没有此类模板,因此出现ActionView::MissingTemplate
错误。
如何在不让rails尝试访问模板的情况下呈现状态代码?
答案 0 :(得分:4)
您可以使用ActionController::Head并将:ok
作为值传递:
# home_controller.rb
def do_nothing
head :ok
end
# routes
get 'home/do_nothing
# request in view
<script type="text/javascript">
$.get('<%= home_do_nothing_path %>')
</script>