Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
2daac47d
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,发现更多精彩内容 >>
提交
2daac47d
编写于
5月 21, 2009
作者:
Y
Yehuda Katz + Carl Lerche
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added the ability to register methods to handle specific render option keys and render :json
上级
e693f45e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
46 addition
and
2 deletion
+46
-2
actionpack/Rakefile
actionpack/Rakefile
+3
-2
actionpack/lib/action_controller/new_base.rb
actionpack/lib/action_controller/new_base.rb
+2
-0
actionpack/lib/action_controller/new_base/base.rb
actionpack/lib/action_controller/new_base/base.rb
+2
-0
actionpack/lib/action_controller/new_base/render_options.rb
actionpack/lib/action_controller/new_base/render_options.rb
+39
-0
未找到文件。
actionpack/Rakefile
浏览文件 @
2daac47d
...
...
@@ -62,8 +62,9 @@ Rake::TestTask.new(:test_new_base_on_old_tests) do |t|
# Dir.glob( "test/{dispatch,template}/**/*_test.rb" ).sort +
t
.
test_files
=
%w(
addresses_render base benchmark caching capture content_type dispatcher
flash mime_responds record_identifier redirect render rescue url_rewriter
webservice verification request_forgery_protection send_file
flash mime_responds record_identifier redirect
render render_json
send_file request_forgery_protection rescue url_rewriter verification webservice
)
.
map
{
|
name
|
"test/controller/
#{
name
}
_test.rb"
}
end
...
...
actionpack/lib/action_controller/new_base.rb
浏览文件 @
2daac47d
...
...
@@ -7,6 +7,8 @@ module ActionController
autoload
:Rails2Compatibility
,
"action_controller/new_base/compatibility"
autoload
:Redirector
,
"action_controller/new_base/redirector"
autoload
:Renderer
,
"action_controller/new_base/renderer"
autoload
:RenderOptions
,
"action_controller/new_base/render_options"
autoload
:Renderers
,
"action_controller/new_base/render_options"
autoload
:Rescue
,
"action_controller/new_base/rescuable"
autoload
:Testing
,
"action_controller/new_base/testing"
autoload
:UrlFor
,
"action_controller/new_base/url_for"
...
...
actionpack/lib/action_controller/new_base/base.rb
浏览文件 @
2daac47d
...
...
@@ -11,6 +11,8 @@ class Base < Http
include
ActionController
::
UrlFor
include
ActionController
::
Redirector
include
ActionController
::
Renderer
include
ActionController
::
RenderOptions
include
ActionController
::
Renderers
::
Json
include
ActionController
::
Layouts
include
ActionController
::
ConditionalGet
...
...
actionpack/lib/action_controller/new_base/render_options.rb
0 → 100644
浏览文件 @
2daac47d
module
ActionController
module
RenderOptions
extend
ActiveSupport
::
DependencyModule
included
do
extlib_inheritable_accessor
:_renderers
self
.
_renderers
=
[]
end
def
render_to_body
(
options
)
_renderers
.
each
do
|
renderer
|
if
options
.
key?
(
renderer
)
_process_options
(
options
)
return
send
(
"_render_
#{
renderer
}
"
,
options
[
renderer
],
options
)
end
end
super
end
end
module
Renderers
module
Json
extend
ActiveSupport
::
DependencyModule
depends_on
RenderOptions
included
do
_renderers
<<
:json
end
def
_render_json
(
json
,
options
)
json
=
ActiveSupport
::
JSON
.
encode
(
json
)
unless
json
.
respond_to?
(
:to_str
)
json
=
"
#{
options
[
:callback
]
}
(
#{
json
}
)"
unless
options
[
:callback
].
blank?
response
.
content_type
||=
Mime
::
JSON
self
.
response_body
=
json
end
end
end
end
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录