[英]skip confirmation e-mail in development with devise
我正在使用 devise,我希望能夠在處於開發模式時跳過確認電子郵件。 由於我的應用程序在本地計算機上運行時無法發送電子郵件,因此我只會收到警告消息,指出您需要在訪問應用程序之前進行確認。
Devise 還有一個方法skip_confirmation! 您可以在保存模型之前調用它以避免發送郵件。 它只是設置了confirmed_at
屬性,從而跳過郵件發送。
試試 Ryan Bates 的 Letter Opener gem
https://github.com/ryanb/letter_opener
它將在瀏覽器中打開電子郵件而不發送。 如果您正在開發中,您不想跳過某些東西,因為某些東西會被錯過/遺忘。
就如此容易
user=User.new
user.email="you@email.id"
user.password="yourPassword"
user.skip_confirmation!
user.save
或者您可以在您的開發環境中嘗試MailCatcher 。
如果您想要一種非常輕量級的方式來執行此操作,請在注冊后查看您的終端 - rails 輸出顯示已發送的電子郵件,您可以復制粘貼確認鏈接,確認帳戶,然后繼續測試。
粗糙,但有效。
在 Rails 3 中,您可以使用“攔截器”來重新路由您的開發電子郵件,如Railscast 206 中所述。
拿你的模型來設計。 通常是它的 user.rb。 並刪除或評論 config comfirmable 。 這將阻止確認過程
Devise 使用 ActionMailer 發送電子郵件。 在測試模式下,ActionMailer 實際上不應該發送任何電子郵件。
查看本教程以獲取有關 ActionMailer 和測試環境的說明。
因此,根據環境,您基本上可以關閉交付,而不會影響您的實際測試。 您只需要在environments/test.rb
文件中指定該選項。
類似於letter_opener
gem(由上面的John Beynon推薦),有一個名為mailcatcher
的 gem,它可以在 SMTP 級別工作。
基本上,您在 Rails 應用程序上配置 SMTP 以指向在本地機器上運行 mailcatcher 的端口,並且您在其他端口上有 mailcatcher 瀏覽器來讀取電子郵件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.