Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
0d0d4622
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0d0d4622
编写于
8月 14, 2012
作者:
D
David Heinemeier Hansson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add Request#formats=(extensions) that lets you set multiple formats directly in a prioritized order
上级
6f7b651c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
36 addition
and
1 deletion
+36
-1
actionpack/CHANGELOG.md
actionpack/CHANGELOG.md
+15
-1
actionpack/lib/action_dispatch/http/mime_negotiation.rb
actionpack/lib/action_dispatch/http/mime_negotiation.rb
+21
-0
未找到文件。
actionpack/CHANGELOG.md
浏览文件 @
0d0d4622
## Rails 4.0.0 (unreleased) ##
*
Add Request#formats=(extensions) that lets you set multiple formats directly in a prioritized order
*DHH*
Example of using this for custom iphone views with an HTML fallback:
class ApplicationController < ActionController::Base
before_filter :adjust_format_for_iphone_with_html_fallback
private
def adjust_format_for_iphone_with_html_fallback
request.formats = [ :iphone, :html ] if request.env["HTTP_USER_AGENT"][/iPhone/]
end
end
*
Add Routing Concerns to declare common routes that can be reused inside
others resources and routes.
...
...
@@ -28,7 +42,7 @@
resources :posts, concerns: [:commentable, :image_attachable]
*D
avid Heinemeier Hansson
+ Rafael Mendonça França*
*D
HH
+ Rafael Mendonça França*
*
Add start_hour and end_hour options to the select_hour helper.
*Evan Tann*
...
...
actionpack/lib/action_dispatch/http/mime_negotiation.rb
浏览文件 @
0d0d4622
...
...
@@ -80,6 +80,27 @@ def format=(extension)
@env
[
"action_dispatch.request.formats"
]
=
[
Mime
::
Type
.
lookup_by_extension
(
parameters
[
:format
])]
end
# Sets the \formats by string extensions. This differs from #format= by allowing you
# to set multiple, ordered formats, which is useful when you want to have a fallback.
#
# In this example, the :iphone format will be used if it's available, otherwise it'll fallback
# to the :html format.
#
# class ApplicationController < ActionController::Base
# before_filter :adjust_format_for_iphone_with_html_fallback
#
# private
# def adjust_format_for_iphone_with_html_fallback
# request.formats = [ :iphone, :html ] if request.env["HTTP_USER_AGENT"][/iPhone/]
# end
# end
def
formats
=
(
extensions
)
parameters
[
:format
]
=
extensions
.
first
.
to_s
@env
[
"action_dispatch.request.formats"
]
=
extensions
.
collect
do
|
extension
|
Mime
::
Type
.
lookup_by_extension
(
extension
)
end
end
# Receives an array of mimes and return the first user sent mime that
# matches the order array.
#
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录