Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
ad1c90de
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,发现更多精彩内容 >>
提交
ad1c90de
编写于
5月 21, 2009
作者:
Y
Yehuda Katz + Carl Lerche
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added the :xml render option
上级
2daac47d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
28 addition
and
9 deletion
+28
-9
actionpack/Rakefile
actionpack/Rakefile
+1
-1
actionpack/lib/action_controller/new_base/base.rb
actionpack/lib/action_controller/new_base/base.rb
+1
-1
actionpack/lib/action_controller/new_base/render_options.rb
actionpack/lib/action_controller/new_base/render_options.rb
+24
-6
actionpack/lib/action_controller/new_base/renderer.rb
actionpack/lib/action_controller/new_base/renderer.rb
+2
-1
未找到文件。
actionpack/Rakefile
浏览文件 @
ad1c90de
...
@@ -63,7 +63,7 @@ Rake::TestTask.new(:test_new_base_on_old_tests) do |t|
...
@@ -63,7 +63,7 @@ Rake::TestTask.new(:test_new_base_on_old_tests) do |t|
t
.
test_files
=
%w(
t
.
test_files
=
%w(
addresses_render base benchmark caching capture content_type dispatcher
addresses_render base benchmark caching capture content_type dispatcher
flash mime_responds record_identifier redirect
flash mime_responds record_identifier redirect
render render_json
render render_json
render_xml
send_file request_forgery_protection rescue url_rewriter verification webservice
send_file request_forgery_protection rescue url_rewriter verification webservice
)
.
map
{
|
name
|
"test/controller/
#{
name
}
_test.rb"
}
)
.
map
{
|
name
|
"test/controller/
#{
name
}
_test.rb"
}
end
end
...
...
actionpack/lib/action_controller/new_base/base.rb
浏览文件 @
ad1c90de
...
@@ -11,8 +11,8 @@ class Base < Http
...
@@ -11,8 +11,8 @@ class Base < Http
include
ActionController
::
UrlFor
include
ActionController
::
UrlFor
include
ActionController
::
Redirector
include
ActionController
::
Redirector
include
ActionController
::
Renderer
include
ActionController
::
Renderer
include
ActionController
::
RenderOptions
include
ActionController
::
Renderers
::
Json
include
ActionController
::
Renderers
::
Json
include
ActionController
::
Renderers
::
Xml
include
ActionController
::
Layouts
include
ActionController
::
Layouts
include
ActionController
::
ConditionalGet
include
ActionController
::
ConditionalGet
...
...
actionpack/lib/action_controller/new_base/render_options.rb
浏览文件 @
ad1c90de
...
@@ -18,15 +18,23 @@ def render_to_body(options)
...
@@ -18,15 +18,23 @@ def render_to_body(options)
end
end
end
end
module
Renderers
module
RenderOption
module
Json
extend
ActiveSupport
::
DependencyModule
included
do
extend
ActiveSupport
::
DependencyModule
extend
ActiveSupport
::
DependencyModule
depends_on
RenderOptions
depends_on
RenderOptions
included
do
def
self
.
register_renderer
(
name
)
_renderers
<<
:json
included
{
_renderers
<<
name
}
end
end
end
end
module
Renderers
module
Json
include
RenderOption
register_renderer
:json
def
_render_json
(
json
,
options
)
def
_render_json
(
json
,
options
)
json
=
ActiveSupport
::
JSON
.
encode
(
json
)
unless
json
.
respond_to?
(
:to_str
)
json
=
ActiveSupport
::
JSON
.
encode
(
json
)
unless
json
.
respond_to?
(
:to_str
)
...
@@ -35,5 +43,15 @@ def _render_json(json, options)
...
@@ -35,5 +43,15 @@ def _render_json(json, options)
self
.
response_body
=
json
self
.
response_body
=
json
end
end
end
end
module
Xml
include
RenderOption
register_renderer
:xml
def
_render_xml
(
xml
,
options
)
response
.
content_type
||=
Mime
::
XML
self
.
response_body
=
xml
.
respond_to?
(
:to_xml
)
?
xml
.
to_xml
:
xml
end
end
end
end
end
end
\ No newline at end of file
actionpack/lib/action_controller/new_base/renderer.rb
浏览文件 @
ad1c90de
...
@@ -79,9 +79,10 @@ def _render_partial(partial, options)
...
@@ -79,9 +79,10 @@ def _render_partial(partial, options)
end
end
def
_process_options
(
options
)
def
_process_options
(
options
)
status
,
content_type
=
options
.
values_at
(
:status
,
:content_type
)
status
,
content_type
,
location
=
options
.
values_at
(
:status
,
:content_type
,
:location
)
response
.
status
=
status
.
to_i
if
status
response
.
status
=
status
.
to_i
if
status
response
.
content_type
=
content_type
if
content_type
response
.
content_type
=
content_type
if
content_type
response
.
headers
[
"Location"
]
=
url_for
(
location
)
if
location
end
end
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录