2

我正在使用Rails应用程序,它需要多个布局。如何从轨道中的宝石加载视图路径

我想出了一个解决方案,并表示,我不希望我的用户陷入使用模板引擎(比如液体)来定制自己的私人布局的压力。我想给他们一个真棒布局选择。

现在我想创建多个视图目录作为一个gem,所以如果用户页面没有使用应用程序布局,rails会从gem中使用所选布局的名称加载视图路径,以查找要加载的正确gem (为简单起见,所有布局将包含宝石名称)

如何根据用户选择的布局来告诉导轨哪个视图使用的路径,以便导轨可以加载具有多个视图的精确的gem视图路径各种宝石宝石的路径。

回答

0

你可以提供一个轨道引擎作为宝石。在应用程序中找不到应用程序时,Rails会从引擎中查找引擎的视图。看看文档:http://edgeguides.rubyonrails.org/engines.html#overriding-views

+0

如果我使用Rails的引擎,我必须使用一个命名空间的引擎。我不想有一个namedspace url我想要默认localhost:3000 – Uchenna

0

帮我解决我的问题,避免了需要建立一个宝石

prepend_view_path "#{Rails.root}/app/views/customlayout"