1
これは私のサイトの特定のイベントを承認する方法です。 アイデアは: 新しいイベントが発生するたびに、「[email protected]」に電子メールが送信されます。電子メールには、特定のものと、「承認済み」ブール値を変更するメソッドへのリンクが含まれています。 すべては、電子メールで生成されたURLとは別に動作します。
http://example.com/approve_eventを生成します。そして私は、私が何かRails 3.1のメール内のlink_toに値を渡すには?
def approve_event(event)
@event = event
mail(:to => "[email protected]", :subject => "Event pending of approval")
end
AdminNotifier
http://example.com/approve_event?=23ような電子メールビューのHTML を指すURLを取得するために行う必要がありますどのように
「nilをIDを持つイベントが見つかりませんでした」というエラーが表示されます
= 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
私はEventControllerからメーラーを呼び出します。 AdminMailer.approve_event(@event).deliver 私はmailerメソッドに次のようなものを入れます:@event = Event.find(params [:id]) –
ビューで '@ event'を使用しています。メーラーに '@ event'変数を定義する必要があります。 'approve_event'メソッドを見て、有効なイベントオブジェクトを使用しているかどうかを確認してください。 – alf