多种请求格式的单一视图模板

bud*_*net 3 ruby-on-rails

我参与了HTML5应用程序的构建,我们为iPhone,Android等创建了一个自定义MIME类型(移动).例如,我们有index.html.haml和index.mobile.haml.在许多情况下输出将是相同的 - 所以我的问题是,如何创建移动和html请求格式使用的视图文件?在视图不同的情况下,选择正确的html或移动视图?

我一直在挖掘,似乎无法找到一个干净优雅的解决方案.

Jim*_*dra 5

您可以在同一个respond_to块中处理常规请求和移动请求,并显式设置要使用的模板.例如:

respond_to do |format|
  format.any(:html, :mobile)
    render :template => "action.html.erb"
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,我最近阅读了一篇文章,该文章避免了针对某种"级联"视图的特定于移动设备的请求格式.您可能也想考虑这一点:移动设备和Rails:维护您的理智.