从使用相同数据库的另一个应用程序访问一个应用程序中的 Action Mailer 模板

Accessing Action Mailer templates in one application, from another application that uses the same database

我有两个单独的 Rails 应用程序,它们都使用同一个数据库。 一个应用程序设置了 ActionMailer 模板来发送各种类型的电子邮件。

然而,第二个应用程序也需要能够使用其中一些模板发送电子邮件。

我不想将一个应用程序中的所有模板复制到另一个应用程序中,因为这似乎不太理想且容易出错。使第二个应用程序能够发送在第一个应用程序中设置的电子邮件的最佳方法是什么?

你在这里问了两个问题,这对 Stack Overflow 来说是非常糟糕的做法。每个问题你应该做一个 post。我只想解决有关共享电子邮件模板的第一个问题。

一种方法是把所有你想分享的模板放到app A的一个新文件夹里,然后在app B的相应位置做一个符号link。Rails (和 Git)对这种事情非常满意。

例如,在您的 rails 文件夹中用于 appB

ln -s ../appA/app/views/shared_emails app/views/shared_emails

这假定 appA 和 appB 的文件夹彼此相邻。如果不是,您可以更改第一部分以正确导航到 appA 的文件夹,但您应该将其保留为相对路径,而不是绝对路径,因为相对路径更容易在您的服务器和您的服务器上保持同步本地计算机(绝对路径在您的服务器和本地计算机上可能不同)。