1

所以我有 2 个邮件操作的一种布局:signup_emailchange_password

  def signup_email(user, url)
    @user = user
    @url  = url
    mail(to:user.username, subject:"Welcome to Clubicity!", template_path: "mail_templates", template_name: "system")
  end

  def change_password(username,url)
    @url = url
    mail(to:username,subject:"Clubicity - password recovery", template_path: "mail_templates", template_name: "system")
  end

我设法为这 2 个动作获得了一个布局,但现在在这个布局中,我需要根据调用的动作、注册或 change_pwd 呈现 2 个不同的部分。

我查看了 RailsGuides 和 api.rubyonrails.org,他们只说模板。

拜托,需要这方面的帮助。

4

2 回答 2

1

使用这样的邮件布局得到它

  def change_password(username,url)
    @url = url
    mail(to:username,subject:"Clubicity - password recovery") do |format|
      format.html { render :layout => 'mail_templates/system'}
    end
  end

  def signup_email(user, url)
    @user = user
    @url  = url
    mail(to:user.username, subject:"Welcome to Clubicity!") do |format|
      format.html { render :layout => 'mail_templates/system'}
    end
  end

并在布局中放<%= yield %>

和摇滚!

于 2012-10-04T11:52:00.040 回答
0

因此,您希望将一个文件用于不同的操作。当然,您必须在模板中定义操作。

我建议为每个动作制作一个视图文件。

要使用一种布局,只需添加<%= render 'email_header' %>到每个视图的顶部和<%= render 'email_footer' %>底部。还要制作_email_header.html.erb_email_footer.html.erb带有适当的标记。

于 2012-10-04T09:55:47.403 回答