ruby-on-rails – 在Rails中,如何制作:移动视图在未找到时回退默认视图?

ruby-on-rails – 在Rails中,如何制作:移动视图在未找到时回退默认视图?,第1张

概述这个问题是我之前未回答的问题的后续问题: ActionView::MissingTemplate: Missing template (Trying to render nonexistent :mobile format ) 由于似乎没有与Rails方法达成共识,有什么方法可以从移动设备访问以呈现默认值:html何时:移动格式不可用? (如果a:移动视图存在,则应优先于未移动格式的移动视图). 这个问题是我之前未回答的问题的后续问题: ActionView::MissingTemplate: Missing template (Trying to render nonexistent :mobile format )

由于似乎没有与Rails方法达成共识,有什么方法可以从移动设备访问以呈现默认值:HTML何时:移动格式不可用? (如果a:移动视图存在,则应优先于未移动格式的移动视图).

解决方法 假设你有一个mobile_request?控制器实例方法来检测移动请求,那么你应该能够设置格式回退链:

# application_controller.rbbefore_filter :set_request_format,:set_format_fallbacksrespond_to :HTML,:mobile # etcdef set_request_format  request.format = :mobile if mobile_request?enddef set_format_fallbacks  if request.format == :mobile    self.formats = [:mobile,:HTML]  endend

这应该工作,但显然它并不完全.
https://github.com/rails/rails/issues/3855
如果你有一个移动模板,格式似乎被锁定,它将找不到只有HTML的部分.

希望它会以某种方式修复.
在此期间,您可以将此<%controller.set_format_fallbacks%>在每个模板(ouch)或编写自己的解析器.
http://jkfill.com/2011/03/11/implementing-a-rails-3-view-resolver/

还看看:

Can a mobile mime type fall back to “html” in Rails?

Changing view formats in rails 3.1 (delivering mobile html formats,fallback on normal html)

总结

以上是内存溢出为你收集整理的ruby-on-rails – 在Rails中,如何制作:移动视图在未找到时回退默认视图?全部内容,希望文章能够帮你解决ruby-on-rails – 在Rails中,如何制作:移动视图在未找到时回退默认视图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存