0
class AdminMailer < ActionMailer::Base
  def send_message_to_user(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject)
  end

  def send_message_to_all_users(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject)
  end

  def send_message_to_active_users(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject)
  end

  def send_message_to_suspended_users(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject)
  end
end

代わりに、アクションごとに4つのビュー、、、を使用したいのですが、すべてのアクションに1つのビューファイルのみを使用したいと思いますsend_message_to_active_users.html.erbsend_message_to_all_users.html.erbsend_message_to_suspended_users.html.erbsend_message_to_user.html.erb

どうすればいいですか?

ありがとうございました!

4

2 に答える 2

1

別のテンプレートを選択するには:template_name、オプションとして渡すことができます。

mail(:to => user.email, :subject => subject, :template_name => "another_template_name")

したがって、1つのテンプレートを複数のメソッドに使用できます。

于 2013-03-26T18:35:07.160 に答える
0

応答は次のとおりです。

class AdminMailer < ActionMailer::Base
  def send_message_to_user(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject) do |format|
      format.html { render "send_email_to_users" }
    end
  end

  def send_message_to_all_users(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject) do |format|
      format.html { render "send_email_to_users" }
    end
  end

  def send_message_to_active_users(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject) do |format|
      format.html { render "send_email_to_users" }
    end
  end

  def send_message_to_suspended_users(user, subject, body, locale)
    @body = body
    mail(:to => user.email, :subject => subject) do |format|
      format.html { render "send_email_to_users" }
    end
  end
end

http://api.rubyonrails.org/classes/ActionMailer/Base.htmlをご覧ください。

ありがとうございました!

于 2013-03-26T18:35:55.797 に答える