Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
28bf2fa0
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,体验更适合开发者的 AI 搜索 >>
提交
28bf2fa0
编写于
9月 28, 2008
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Protect body ivar from being clobbered by the mailer template assigns
上级
ea609b26
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
2 deletion
+19
-2
actionmailer/lib/action_mailer/base.rb
actionmailer/lib/action_mailer/base.rb
+3
-0
actionmailer/test/fixtures/test_mailer/body_ivar.erb
actionmailer/test/fixtures/test_mailer/body_ivar.erb
+2
-0
actionmailer/test/mail_service_test.rb
actionmailer/test/mail_service_test.rb
+12
-0
actionpack/lib/action_view/base.rb
actionpack/lib/action_view/base.rb
+2
-2
未找到文件。
actionmailer/lib/action_mailer/base.rb
浏览文件 @
28bf2fa0
...
...
@@ -296,6 +296,9 @@ class Base
@@default_implicit_parts_order
=
[
"text/html"
,
"text/enriched"
,
"text/plain"
]
cattr_accessor
:default_implicit_parts_order
cattr_reader
:protected_instance_variables
@@protected_instance_variables
=
%w(@body)
# Specify the BCC addresses for the message
adv_attr_accessor
:bcc
...
...
actionmailer/test/fixtures/test_mailer/body_ivar.erb
0 → 100644
浏览文件 @
28bf2fa0
body:
<%=
@body
%>
bar:
<%=
@bar
%>
\ No newline at end of file
actionmailer/test/mail_service_test.rb
浏览文件 @
28bf2fa0
...
...
@@ -273,6 +273,13 @@ def return_path
headers
"return-path"
=>
"another@somewhere.test"
end
def
body_ivar
(
recipient
)
recipients
recipient
subject
"Body as a local variable"
from
"test@example.com"
body
:body
=>
"foo"
,
:bar
=>
"baz"
end
class
<<
self
attr_accessor
:received_body
end
...
...
@@ -926,6 +933,11 @@ def test_return_path_with_deliver
TestMailer
.
deliver_return_path
assert_match
%r{^Return-Path: <another@somewhere.test>}
,
MockSMTP
.
deliveries
[
0
][
0
]
end
def
test_body_is_stored_as_an_ivar
mail
=
TestMailer
.
create_body_ivar
(
@recipient
)
assert_equal
"body: foo
\n
bar: baz"
,
mail
.
body
end
end
end
# uses_mocha
...
...
actionpack/lib/action_view/base.rb
浏览文件 @
28bf2fa0
...
...
@@ -296,9 +296,9 @@ def _evaluate_assigns_and_ivars #:nodoc:
@assigns
.
each
{
|
key
,
value
|
instance_variable_set
(
"@
#{
key
}
"
,
value
)
}
if
@controller
variables
=
@controller
.
instance_variables
variables
=
@controller
.
instance_variable
_name
s
variables
-=
@controller
.
protected_instance_variables
if
@controller
.
respond_to?
(
:protected_instance_variables
)
variables
.
each
{
|
name
|
instance_variable_set
(
name
,
@controller
.
instance_variable_get
(
name
))
}
variables
.
each
{
|
name
|
instance_variable_set
(
name
,
@controller
.
instance_variable_get
(
name
))
}
end
@assigns_added
=
true
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录