1

これは、私のサイトで特定のイベントを承認する方法です。アイデアは次のとおりです。新しいイベントが発生するたびに、「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
4

1 に答える 1

0

変数がメーラーメソッド(この場合)で@event正しく定義されていることを確認して、ビューで使用できるようにする必要があります。approve_event

Railsガイドの詳細

于 2012-04-04T19:01:25.070 に答える