Ruby on rails 如何从rails中的gem加载视图路径

Ruby on rails 如何从rails中的gem加载视图路径,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Ruby On Rails 3.2,我正在开发一个rails应用程序,它需要多种布局 我提出了一个解决方案,并说,我不希望我的用户因为使用liquid之类的模板引擎来定制他们自己的私有布局而感到压力。我想给他们一个真正的可怕的布局选择 现在,我想将多视图目录构建为gem,这样,如果用户页面没有使用应用程序布局,rails将使用所选布局的名称从gem加载视图路径,以找到要从中加载的正确gem(为了简单起见,所有布局都将由gem的名称组成) 我如何根据用户选择的布局告诉rails使用哪个视图路径,以便rails可以加载gem的视图路径

我正在开发一个rails应用程序,它需要多种布局

我提出了一个解决方案,并说,我不希望我的用户因为使用liquid之类的模板引擎来定制他们自己的私有布局而感到压力。我想给他们一个真正的可怕的布局选择

现在,我想将多视图目录构建为gem,这样,如果用户页面没有使用应用程序布局,rails将使用所选布局的名称从gem加载视图路径,以找到要从中加载的正确gem(为了简单起见,所有布局都将由gem的名称组成)


我如何根据用户选择的布局告诉rails使用哪个视图路径,以便rails可以加载gem的视图路径,因为各种gem有多个视图路径。

您可以提供一个作为gem的rails引擎。当应用程序中找不到视图时,rails会从引擎中查找这些视图。看看文档:

这帮助我解决了问题,避免了创建gem的需要

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

如果我使用rails引擎,我必须为引擎使用名称空间。我不想要一个命名的空间url我想要默认的localhost:3000