我正在尝试在create
控制器中的interests
操作中呼叫一个邮件程序:
def create
if @interest.save
UserMailer.interest_to_seller(@interest).deliver_now
etc....
当我要去CRUD / interest / new表单并在那里创建它时,这很好用,但是我实际上是想从另一个地方的post方法调用它。好像create
操作一起被跳过,但这是不可能的,因为正在创建记录,对吗?
我的路线.rb:
resources :seller_listings do
post :add_interest, on: :member
end
在我看来:
<%= link_to add_interest_seller_listings_path(m), method: :post do %>
Add Interest & Fire Email!
<%end%>
在兴趣控制器中,我执行了以下操作,即路由文件中的帖子称为:
def add_interest
current_user.mark_buyer_interest(seller_listing)
在user.rb中引用了以下内容:
def mark_buyer_interest(listing)
buyer_interests.create(seller_listing: listing.id, accepted_by_seller: 0)
end
这很好用,创建了记录,但是跳过了Mailer。有什么建议么?我从来没有这样做过,所以任何建议都很好。谢谢!
答案 0 :(得分:2)
我认为您应该在UserMailer.interest_to_seller(@interest).deliver_now
中再次致电mark_buyer_interest
。
def mark_buyer_interest(listing)
new_interest = buyer_interests.create(seller_listing: listing.id, accepted_by_seller: 0)
UserMailer.interest_to_seller(new_interest).deliver_now
end