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

时间:2011-02-07 08:54:46

标签: ruby-on-rails

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

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

1 个答案:

答案 0 :(得分:5)

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

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

但是,我最近阅读了一篇文章,该文章针对某种“级联”视图避开了特定于移动设备的请求格式。您可能也想考虑这一点:Mobile Devices and Rails: Maintaining your Sanity