我想知道你是否可以使用Response_来获得相同的行为,如果可以,这是否被认为是良好的形式,为什么?
所以我想做的是:
def function respond_to do |format| format.js do basic_stuff end format.html do basic_stuff user_redirect end end end
这似乎有点违反了DRY原则,我可能遗漏了一些关于用户和服务器如何在这里交互的信息。老实说,API文档并没有让我完全明白。
您可以像这样重构:
def function basic_stuff # executed regardless of the mime types accepted respond_to do |format| format.html do user_redirect end end # will fall back rendering the default view - which you should ensure will be js end
request.xhr? 查看请求 X-Requested-With 标头(查看它是否包含“XMLHttpRequest”)。 respond_to
request.xhr?
X-Requested-With
respond_to
您可以使用其中一个来实现某种优雅的递减。
但是 您将无法使用 xhr? 除非您的ajax调用正在设置该标头(Prototype会自动执行此操作),否则将进行优雅的降级。
xhr?
此外 提供了更大的灵活性,即从同一块发送xml、json、js等。
所以我推荐 在这里