假设我创建了一个名为“Soho”的可挂载引擎,该引擎具有用于“Users”的 Controller 。我可以转到/users/1查看ID为1的用户。

在“Soho”内部,我有一个用于布局的application.html.erb。

现在,假设我想在名为“Soho_test”的应用程序中“混合”我的引擎“Soho”,并将我的引擎安装在“/”上。因此,在主机应用程序“Soho_test”中,我也可以转到/users/1来查看ID为1的用户。

我的问题是:如何在主机应用程序“Soho_test”中将“Soho_test” application.html.erb应用于/users/1(用户配置文件页面),而不是“Soho”可安装引擎中的那个?

谢谢!

最佳答案

我找到了实现的方法,所以我会在自己的问题上发布答案,以防其他人感到奇怪。实际上,这很容易。我本来应该考虑这个的...

您要做的就是在/views/layouts/中创建一个带有引擎名称的文件夹。因此,根据我的问题,它将是/views/layouts/soho/。在该文件夹中,放入您想要的application.html.erb

您可以对局部 View 和其他 View 执行相同的操作。只需创建一个文件夹/views/soho/.../并将文件放在此处即可。我没有找到可以在主机应用程序中复制引擎 View 的rake任务,所以我写了一个。

关于ruby-on-rails - Rails 3.1可安装引擎: How to use/template it inside another application?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6998795/

10-10 20:26