我有一个电子邮件动作..简单的链接:
<%= link_to 'Send offer by mail', offer_to_mail_car_path(@car) %>
这个人应该向管理员邮件发送通知,告知某个客户为这辆车提供了特定金额的钱。所以客户必须在表格中插入他的电子邮件和他的报价。这些数据不存储在数据库中,只是用于发送电子邮件和清除。所以现在我收到的电子邮件包含汽车数据,名称,图片等网址等。但是我如何建立一个表单来显示客户电子邮件和优惠的2个字段,控制器的外观和链接本身。谢谢你无价的时间。
控制器:
def offer_to_mail
@car = Car.find(params[:id])
CarMailer.offer_to_mail(@car).deliver
redirect_to @car, :notice => "Offer sent."
end
答案 0 :(得分:4)
感谢我的一位朋友,我得到了答案。我会在这里发布解决方案原因可能是某些人也需要这个。
汽车邮件中的会做
def request_by_mail(car, your_name, your_message)
@car = car
@name = your_name
@message = your_message
@url = "http://cardealer.com/cars"
# attachments["rails.png"] = File.read("#{Rails.root}/public/images/rails.png")
mail(:to => 'rmagnum2002@gmail.com',
:subject => "Car details request from a client",
:date => Time.now
)
end
汽车控制中的
def request_by_mail
@car = Car.find(params[:id])
mail = params[:request_by_mail][:your_mail]
message = params[:request_by_mail][:your_message]
CarMailer.request_by_mail(@car, name, message).deliver
redirect_to @car, :notice => "Request sent."
end
以及表单所在的视图:
<%= form_for :request_by_mail, :url => request_by_mail_car_path(@car), :html => {:method => :get} do |f| %>
<p>
<b>Your email:</b><br>
<%= f.text_field :your_name %>
</p>
<p>
<b>Details about your request:</b><br>
<%= f.text_area :your_message %>
</p>
<%= f.submit "Send details request" %>
<% end %>
现在是电子邮件模板request_by_mail.html.erb
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<h3>A client has requested details about car with stock number: <%= @car.id %></h3>
<% for asset in @car.assets %>
<img alt="photos" src="http://localhost:3002<%= asset.asset.url(:thumb) %>">
<% end %>
<p><%= @name %></p>
<p><%= @message %></p>
<p>
Car link: <a href="http://localhost:3002/cars/<%= @car.id %>">Go to car</a>
</p>
</body>
</html>