2016-05-10 11 views
2

Mailboxer::Conversationにメールボックスのメールを使って返信するための方法を追加しています(つまり、reply_link)。RoR Mailboxer Monkey Patchがほんの数回しか動作しません

私のアプリケーション内で猿のパッチメールボックスにすることにしました。私が正確に行ったことは次のとおりです。

  1. フォルダ構造lib/mailboxer/extensionsが作成されました。
  2. lib/mailboxer/extensions/conversation.rb,lib/mailboxer/extensions.rb,lib/mailboxer.rbが追加されました。

    # lib/mailboxer/extensions/conversation.rb 
    module Mailboxer 
        module Extensions 
        module Conversation 
         def reply_link 
         "/mail?notif_id=#{id}" 
         end 
        end 
        end 
    end 
    
    # lib/mailboxer/extensions.rb 
    require 'mailboxer/extensions/conversation' 
    
    # lib/mailboxer.rb 
    require 'mailboxer/extensions' 
    

    マイconfig/application.rbは以下があります:以下

ファイルの内容である私に私のlibフォルダへのアクセスを提供します

config.autoload_paths += %W(#{config.root}/lib)

。私rails console

Mailboxer.setup do |config| 
    # ... 
end 

Mailboxer::Conversation.include Mailboxer::Extensions::Conversation 

、コードは常に動作します: は、次に私がやっていることはmailboxerの初期化ファイルinitalizers/mailboxer.rbMailboxer::ConversationからMailboxer::Extensions::Conversationが含まれています。しかし、ウェブサイトでは、最初にreply_linkメソッドが動作し、次にランダムに定義されなくなります。後で試みの

enter image description here

カップル....

enter image description here

と私は、サーバーを再起動するまで、それが動作しなくなった...

私は関係のない例外を取得するたびに

(すなわちtypo、リファクタリングなど)、 reply_linkメソッドは定義されません。これは開発の問題だろうか?

メールボックスをフォークして、私の変更を行ってください。しかし、この方法は私のアプリケーションにとって非常に慣れているので、ちょうどパッチを張っています。

ご意見、ご質問、ご質問がありましたら、本当にありがとうございます。

答えて

0

まず、私はまだこれが開発の問題であると確信しています。私は余裕があるときはいつでも、これをテストしてここに投稿します。

第2に、これが再び起こらないように、私はMailboxerの会話のソースをコピーし、包含番号include MailboxerExt::Conversationを追加しました。

Mailboxerの名前空間を衝突させないように拡張機能を構成しました。

最終結果のフォルダは、app/models/mailboxer,lib/mailboxer_extです。

ファイルは、app/models/mailboxer/conversation.rb,lib/mailboxer_ext.rbおよびlib/mailboxer_ext/conversation.rbです。

関連する問題