0

Rails 3.2プロジェクトには、で新しい投稿を作成するためのフォームがありますnew.html.erbapp/views/posts/

<%= form_for(@post) do |post_form| %>
  ...
  <div class="field">
    <%= post_form.label :email %><br />
    <%= post_form.text_field :email %>
  </div>
  <div class="field">
    <%= post_form.label :title %><br />
    <%= post_form.text_field :title %>
  </div>
  <div class="field">
    <%= post_form.label :content %><br />
    <%= post_form.text_field :content %>
  </div>
  <div class="actions">
    <%= post_form.submit %>
  </div>
<% end %>

次に、create関数posts_controller.rb

def create
  @post = Post.new(params[:post])  
  if @post.save
    format.html { redirect_to @post }
  else
    format.html { render action: "new" }
  end
end

emailユーザーが投稿を送信すると、「タイトルtitleとコンテンツを含む投稿を送信しました」というメール通知を送信したいと思いますcontent。どうやってやるの?

4

3 に答える 3

0

メーラーを設定し、テンプレートを提供して、作成アクション自体で、またはPostモデルのコールバックとしてメーラーアクションを呼び出します。

これがRails3でのActionMailerの使用に関するRailscastです。それはほとんどステップをカバーするはずです。

于 2012-10-15T19:10:03.250 に答える
0

新しいメーラークラスを作成し、電子メールを送信するコントローラー内からこのクラスを呼び出します。ActionMailerについては、http: //guides.rubyonrails.org/action_mailer_basics.htmlで学ぶことができます。

于 2012-10-15T19:10:20.363 に答える
0

app /mailers/フォルダーにメールセットアップ初期化子とuser_post_mailer.rbを作成する必要があります

その後、あなたは呼び出すことができます

UserMailer.post_confirmation(@user).deliver

あなたのコントローラーから

Railscastメーラーエピソード

于 2012-10-15T19:10:43.717 に答える