首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 3当请求类型为*/*时如何强制响应类型

Rails 3当请求类型为*/*时如何强制响应类型
EN

Stack Overflow用户
提问于 2012-06-24 16:35:24
回答 1查看 2.5K关注 0票数 1

我有一个before_filter,它想要根据请求和参数的各个方面默认响应类型。例如,

代码语言:javascript
运行
复制
request.format = ( params.format ||= 'html' ) if ...    # an HTML-only request/client
request.format = ( params.format ||= 'json' ) if request.xhr?

其想法是,respond_to do |format|; format.html { ... }; format.json { ... }随后将根据客户端条件进行适当的呈现。一些客户机以*/*类型进入(假设这是request.content_type ?)我想强制它们成为HTML响应。然而,似乎不起作用。在不为每条路由设置默认类型的情况下,执行此操作的干净方法是什么?也就是说,我只想把响应类型插入到请求中,这样respond_to就会相应地打开它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-04 06:27:50

request.format=应为MIME::Type类型的对象。

所以你必须做一些像request.format = MIME::Types.type_for('html').first这样的事情

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11176078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档