基于在线的几个教程,我的rails应用程序使用:移动格式来呈现针对移动设备优化的页面。
因此,对于某些操作,除了* .html.erb文件外,我还有一个* .mobile.erb文件。
但是,如果我想禁止在移动网站上执行某些操作,该怎么办?
例如,对于特定资源,您可以在移动时执行“索引”和“显示”,但不能执行“编辑”或“新建”。
最好的方法是什么?目前,我只是没有edit.mobile.erb或new.mobile.erb,但这只是显示“模板缺失”错误 - 不是很优雅。
有什么建议吗?
答案 0 :(得分:1)
您可以尝试访问params [:format]以检查该操作是否对特定格式有效。如果没有,您可以重定向或显示自定义错误页面,或者您想要做的任何其他操作,以优雅地禁止操作。
#..inside your controller..
def do_something
if !["html","xml"].include?(params[:format])
#invalid format. do something
end
#..do other things
end