0
我正在創建我的第一個Rails應用程序,並將集成一些其他應用程序,如Mandrill,Xero等。在應用程序中訪問API包裝的Rails最佳實踐
我只是想知道在全球範圍內存儲實例變量的最佳做法是什麼。例如,我不想在每個控制器中配置我的Mandrill包裝器實例。我想在一個地方做到這一點,並在需要發送電子郵件時撥打它。
是application_helper.rb
現場要做到這一點嗎?
我正在創建我的第一個Rails應用程序,並將集成一些其他應用程序,如Mandrill,Xero等。在應用程序中訪問API包裝的Rails最佳實踐
我只是想知道在全球範圍內存儲實例變量的最佳做法是什麼。例如,我不想在每個控制器中配置我的Mandrill包裝器實例。我想在一個地方做到這一點,並在需要發送電子郵件時撥打它。
是application_helper.rb
現場要做到這一點嗎?
我會爲此創建一個服務。事實上,您可以檢查http://blog.codeclimate.com/blog/2012/10/17/7-ways-to-decompose-fat-activerecord-models/,這是一種很好的方式,可以讓您的應用程序更具靈活性,可測試性並且更易於維護。
感謝您的回覆!我還沒有看過Rails服務,但這可能是一個很好的藉口 – lukerollans
這是一篇關於創建服務的甜蜜文章,對於未來可能以這種方式發佈的其他人 https://blog.engineyard。 com/2014/keep-your-rails-controllers-dry-with-services – lukerollans
是的,重要的是要說這些服務實際上是PORO(普通老式Ruby對象)。名稱服務是爲與其他應用程序/ API進行通信而保留的,交互器用於內部使用的服務。對於第二個,你可以使用'交互者'寶石。 – Miknash