这是我批准我网站中某些事件的方式。 这个想法是: 每次新活动,都会向“admin@example.com”发送电子邮件。该电子邮件包含某些内容以及指向更改“已批准”布尔值的方法的链接。 一切都与电子邮件中生成的网址不同 它会生成http://example.com/approve_event。我收到错误'无法找到id为nil的事件'
如何获取指向http://example.com/approve_event?=23
之类的网址AdminNotifier
def approve_event(event)
@event = event
mail(:to => "admin@example.com", :subject => "Event pending of approval")
end
电子邮件视图html
= link_to "Approve", approve_event_url(:id=> @event.id)
EventController
def approved
@event = Event.find(params[:id])
@event.approved = true
@event.save
end
答案 0 :(得分:0)
您需要确保在邮件程序方法中正确定义@event
变量(在本例中为approve_event
),以确保它在视图中可用。