我有一个简单的rails项目,它使用不显眼的Javavscript进行ajax链接/表单处理。桌面上的一切都很棒。
现在,我正在尝试将网站设为移动设备。我的理解是,这涉及以下步骤:
启用 ApplicationController ,将request.format
更改为:mobile
。通常,这是通过过滤器来完成的,该过滤器读取传入的请求属性,并可能设置request.format = :mobile
:
before_filter :adjust_format_for_mobile
在 mime_types.rb 中添加一些行:
Mime::Type.register_alias "text/html", :mobile
Mime::Type.register_alias "text/javascript", :mobilejs
为respond_to
和format.mobile
format.mobilejs
块添加一些新行
respond_to do |format|
format.js
format.mobilejs
format.html { redirect_to @post }
format.json { render json: @post }
end
我试图以各种方式做所有这些。我试着在控制器内做#1“手动”,然后尝试使用mobile-fu。我在#2中尝试了各种各样的事情,比如“application/javascript
”。我还尝试了各种方法#3(例如显式渲染)。
除了从移动浏览器处理ajax调用之外,我可以让应用程序执行所有操作。它要么找不到合适的模板,要么将模板呈现为text/html
而不是Javascript。
我已经通过Railscast进行移动检测(#199),以及这里的一些问题/答案(可能看起来有些过时)。我不能让这个工作。
所以我的问题:有没有人能够做到这一点?如果是这样,你可以提供一个简单的1,2,3如何做到这一点?我认为问题在于文档在不引人注目的javascript +移动问题上很薄,而且过去有用的各种东西不再适用于rails 3(也许)?在这一点上,我愿意做任何事情(例如重大的重新配置)来使这个工作。如果需要的话,我甚至愿意抛弃不引人注目的javascript位并以“非轨道”的方式做事。
由于