1
這是我批准我網站中某些事件的方式。 這個想法是: 隨着每一個新事件,一封電子郵件被髮送到「[email protected]」。該電子郵件包含某些內容和指向更改「批准」布爾值的方法的鏈接。 除了電子郵件中生成的網址以外,一切都可以使用。
它生成,http://example.com/approve_event。而我得到的錯誤「無法找到ID零事件」如何在Rails 3.1的郵件中傳遞link_to中的值?
我應該怎麼做才能獲得一個指向類似http://example.com/approve_event?=23
AdminNotifier
def approve_event(event)
@event = event
mail(:to => "[email protected]", :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
你如何檢索郵件中的'@ event'? – alf 2012-04-04 17:20:22
我從EventController調用郵件程序。 AdminMailer.approve_event(@event).deliver 我應該在郵件程序中使用類似於:@event = Event.find(params [:id]) – 2012-04-04 18:01:28
您在視圖中使用了'@ event',爲了工作,你需要在郵件程序中定義'@ event'變量。看看'approve_event'方法,並檢查你是否使用了有效的事件對象。 – alf 2012-04-04 18:14:18