禁用JavaScript的RoR

禁用JavaScript的RoR,javascript,ruby-on-rails,ruby-on-rails-3.2,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby On Rails 3.2,Ruby On Rails 4,当有人禁用JavaScript时,RubyonRails3.2和4.0中是否有任何回退机制 应用程序将如何反应,特别是在使用ajax请求时。它会退回到正常的请求吗 我这样问是因为我需要一个网站,它也可以处理来自残疾人文本浏览器的请求 如果没有默认回退,有哪些策略。请参阅本文 一般来说,我在这里不能真正考虑任何回退机制——请注意,rails完成的大部分请求实际上都是ajax请求,因为不可能发送PUT或DELETE over(而不是DELETE请求,rails发送带有数据的ajax post请求:{

当有人禁用JavaScript时,RubyonRails3.2和4.0中是否有任何回退机制

应用程序将如何反应,特别是在使用ajax请求时。它会退回到正常的请求吗

我这样问是因为我需要一个网站,它也可以处理来自残疾人文本浏览器的请求

如果没有默认回退,有哪些策略。

请参阅本文

一般来说,我在这里不能真正考虑任何回退机制——请注意,rails完成的大部分请求实际上都是ajax请求,因为不可能发送PUT或DELETE over(而不是DELETE请求,rails发送带有
数据的ajax post请求:{“\u method”=“DELETE”}


简而言之,对我来说,禁用JS将严重破坏页面,我今天要测试它。

我对RoR没有很好的经验,但我怀疑这更多的是一个如何设计前端架构的问题。我有限的理解是RoR没有提供任何“开箱即用”的javascript;它的默认状态是创建生成平面HTML的视图,您可以使用JS和CSS按照自己喜欢的方式对其进行修饰


编写HTML时,用户应该能够访问他们最感兴趣的所有内容,而不必依赖JavaScript。这意味着您应该只使用JS来增强体验。在通用前端实践语言中,做渐进增强

经过一些研究,我找到了答案:

RubyonRails使用不引人注目的javascript来实现这一点。如果禁用javascript,任何Ajax请求都将优雅地“降级”为正常的POST或GET请求。唯一一个不会立即生效的操作是delete,因为它是唯一一个不完全受所有浏览器本机支持的请求,并且需要js


在railscast中了解更多信息:

这不是AJAX请求,它只是一个
Rack::MethodOverride
中间件,它在请求中搜索
\u method
参数并相应地更改动词。