これは、私のサイトで特定のイベントを承認する方法です。アイデアは次のとおりです。新しいイベントが発生するたびに、「admin@example.com」にメールが送信されます。電子メールには、特定のものと、「承認された」ブール値を変更するメソッドへのリンクが含まれています。電子メールで生成されたURL以外はすべて機能します。http://example.com/approve_event
を生成します。そして、「idnilのイベントが見つかりませんでした」というエラーが表示されます。
http://example.com/approve_event?=23のようなURLを指すURLを取得するにはどうすればよいですか?
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