0
顧客にpricelistsを送信する「静的フォーム」があります。メールを送信する必要がありますが、フォームのparams [:pricelist_name]はゼロです。Rails:ユーザーがフォームを送信する前にメールを送信する理由
私は電子メールがビューの前に送信されていることに気づいたので、ユーザーがフォームを送信した後にのみ電子メールを送信する方法を知りましたか?
乾杯、
コントローラ
def sendpricelist
@pricelist = params[:pricelist_name] || []
@request_id = params["pricelist_name"] || []
@test = "test"
SaasMailer.pricelist_request_email(@pricelist, @test, @request_id).deliver_now
#redirect_to :requests
end
ビュー
<%= form_tag(:controller => "requests", :action => "sendpricelist") do %>
<%= text_field(:post, :title, size: 69, class: 'form-control form-group-lg') %>
<%= select_tag 'pricelist_name',
options_from_collection_for_select(Pricelist.all, :id, :name) %>
<%= submit_tag("Send pricelist")%>
<% end %>
ルート
devise_for :users
resources :users
resources :requests do
resources :updates
match '/sendpricelist', to: 'requests#sendpricelist', via: 'get'
end
出力:あなたが見ることができるように
'件名:[] - [] - テスト' のparamsがnilです。
Started GET "/requests/12/sendpricelist" for 127.0.0.1 at 2016-12-04 15:20:45 +0000
Processing by RequestsController#sendpricelist as HTML
Parameters: {"request_id"=>"12"}
Rendered saas_mailer/pricelist_request_email.html.erb within layouts/mailer (0.2ms)
SaasMailer#pricelist_request_email: processed outbound mail in 19.6ms
Sent mail to re[email protected] (2012.5ms)
Date: Sun, 04 Dec 2016 15:20:45 +0000
From: [email protected]
Reply-To: [email protected]
To: [email protected]
Message-ID: <[email protected]>
Subject: [] - [] - test
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<html>
<body>
<!DOCTYPE html>
<html>
<head>
<meta content=3D'text/html; charset=3DUTF-8' http-equiv=3D'Content-Ty=
pe' />
</head>
<body>
<h1><img src=3D"https://ci4.googleusercontent.com/proxy/HzK8rp8AJ2iFz=
l3q5Z2jtTKO4tCzMTfOJ9WT7CAzSVpHdXm676yMNYhbZzgrNSjFyzkChWQRdKCSZe7M-xrt6q=
IRl5wXoecqdqR3gUOINxF9CnwQoFC2YGQyG7FhdTAcWS9FNwRTDDh2KOkvTGxOOXOc=3Ds0-d=
-e1-ft#http://www.sweetconcepts.com/wp-content/themes/twentysixteen-child=
/assets/images/sc_logo.jpg" alt=3D"Sc logo" /></h1>
<p>
Bonjour Sandrine,
</p>
<p>
Merci pour votre demande nil.
<br></br>
J=E2=80=99ai joint en pi=C3=A8ce jointe les pricelists pour :
</p>
Pricelisttitle <a href=3D"https://s3.amazonaws.com/promosweetsdocs/=
Confirmation.pdf">Lien</a> =
</body>
</html>
</body>
</html>
Pricelist Load (0.3ms) SELECT "pricelists".* FROM "pricelists"
Rendered requests/sendpricelist.html.erb within layouts/application (18.6ms)
Completed 200 OK in 2228ms (Views: 134.3ms | ActiveRecord: 2.8ms)
Started POST "/requests/12/sendpricelist" for 127.0.0.1 at 2016-12-04 15:20:51 +0000
はあなたのビューでこれを試してください:' <%= form_tag sendpricelist_path DO%> '([ソース](HTTP: //stackoverflow.com/questions/25984464/rails-4-form-tag-usage)) –
@NoamHackerフォームを送信する前にメールが送信されます。乾杯。 – reme
ActionController :: RoutingError([GET] "/ requests/12/sendpricelist"と一致するルートはありません): – reme