ruby-on-rails – 如何将多个对象传递到rails中的邮件程序电子邮件内容

ruby-on-rails – 如何将多个对象传递到rails中的邮件程序电子邮件内容,第1张

概述当用户发帖(sub_opp)时,我向用户发送电子邮件.但是,我想在电子邮件中包含这项运动(sub_opp模型中的列).在下面的示例中,当它遇到邮件程序时,我在sub_opp上得到一个未定义的方法错误. 控制器创建sub_opp def create@sub_opp = SubOpp.new(sub_opp_params)respond_to do |format| if @sub_opp. 当用户发帖(sub_opp)时,我向用户发送电子邮件.但是,我想在电子邮件中包含这项运动(sub_opp模型中的列).在下面的示例中,当它遇到邮件程序时,我在sub_opp上得到一个未定义的方法错误.

控制器创建sub_opp

def create@sub_opp = SubOpp.new(sub_opp_params)respond_to do |format|  if @sub_opp.save    user = User.find_by_ID(@sub_opp.user_ID)    sub_opp = @sub_opp    UserMailer.posted_subopp_email(user,sub_opp).deliver    .... continued

梅勒控制器

def posted_subopp_email(user,sub_opp)    mail( :to => user.email,:subject => 'You made a post!' )  end

梅勒视图

<!DOCTYPE HTML> <HTML>  <head>   <Meta content='text/HTML; charset=UTF-8' http-equiv='Content-Type' />  </head>  <body>    <h3>You posted to the sub Feed!</h3>    <p>You made a post.</p>    <p><%= sub_opp.sport %></p>  </body> </HTML>

为什么不<%= sub_opp.sport%>在这个例子中工作? Sport是sub_opp模型中的一列.

谢谢

解决方法 首先创建一个实例变量.您的邮件程序视图中将提供实例变量.

将您的邮件程序视为MVC中的控制器.

def posted_subopp_email(user,sub_opp)  @sub_opp = sub_opp  @user = user  mail( :to => user.email,:subject => 'You made a post!' )end

然后像在您的视图中一样访问它

<body>  <h3>You posted to the sub Feed!</h3>  <p>You made a post.</p>  <p><%= @sub_opp.sport %></p></body>
总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何将多个对象传递到rails中的邮件程序/电子邮件内容全部内容,希望文章能够帮你解决ruby-on-rails – 如何将多个对象传递到rails中的邮件程序/电子邮件内容所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存