我有一个before_filter,它想要根据请求和参数的各个方面默认响应类型。例如,
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就会相应地打开它。
发布于 2012-07-04 06:27:50
request.format=应为MIME::Type类型的对象。
所以你必须做一些像request.format = MIME::Types.type_for('html').first这样的事情
https://stackoverflow.com/questions/11176078
复制相似问题