1

Ruby 1.9.3p194 と Rails 3.2.3 を使用しています。

テンプレートにリンクが含まれているメールの送信中に問題が発生しました。私は次のコードを書きました:

招待状メーラー.rb

def event_invitation(user, event)
  @user = user
  @event = event
  mail(:to => @user.email, :subject => "Invitation to participate in #{@event.name}   event")
end

event_invitation.html.haml

Hello,

%br
%br

Your friend #{@event.user.full_name} has invited you to participate in #{@event.name}   event. If you want to accept
this invitation, use the following link: 

= link_to calendar_index_url, calendar_index_url

%br
%br

#{t('shared.team')}

user.rb

def xyz
   ...
   InvitationMailer.event_invitation(self, event).deliver
end

ビューでリンク行を削除すると、メールを受信できますが、ビュー内のリンクでは受信できません。しかし、ログは電子メールが送信されたことを示しています。

ログ

 Sent mail to abhimanyu@gmail.com (6117ms)
 Date: Fri, 02 Nov 2012 20:59:33 +0530
 From: invitation@dev.tld
 To: abhimanyu@gmail.com
 Message-ID: <5093e6dd6a275_14f733fc536034cd444087@Abhimanyus-iMac.local.mail>
 Subject: Invitation to participate in new event event
 Mime-Version: 1.0
 Content-Type: text/html;
 charset=UTF-8
 Content-Transfer-Encoding: 7bit

 Hello,
 <br>
 <br>
 Your friend Abhimanyu Kumar has invited you to participate in new event event. If you   want to accept
 this invitation, use the following link:
 <a href="http://localhost:3000/calendar">http://localhost:3000/calendar</a>
 <br>
 <br>
 Dev Team

問題を解決するための助けをいただければ幸いです。

前もって感謝します。

4

1 に答える 1

2

default_url_options環境設定ファイルでActionMailer を指定しましたか? config/environments/development.rbまたはconfig/environments/production.rb(作業している環境に応じて) のいずれかに、次のものが含まれていることを確認してください。

config.action_mailer.default_url_options = { :host => "example.com" }

ここで詳細情報を参照してください: http://api.rubyonrails.org/classes/ActionMailer/Base.html#label-Generating+URLs

于 2012-11-02T17:11:09.697 に答える