1

したがって、2 つのメール アクションに対して 1 つのレイアウトがあります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 つのアクションに対して 1 つのレイアウトを取得することができましたが、このレイアウトでは、呼び出されるアクション (signup または 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

したがって、1 つのファイルをさまざまなアクションに使用する必要があります。もちろん、テンプレートでアクションを定義する必要があります。

アクションごとに 1 つのビュー ファイルを作成することを提案します。

1 つのレイアウトを使用するには、各ビューの<%= render 'email_header' %>上部と下部に追加するだけです。<%= render 'email_footer' %>また、適切なマークアップを使用して作成_email_header.html.erb_email_footer.html.erbます。

于 2012-10-04T09:55:47.403 に答える