我应该在哪个文件夹中放置“全局”共享部分模板?

我正在使用Ruby on Rails 3.0.7,并计划使用部分模板。 我的应用程序中的所有类将使用相同的部分,所以我必须决定在哪里find所有这些。

将“全局”共享部分模板放在lib文件夹中是个好主意吗? 如果不是,那么select文件夹放在那里的常见做法是什么? 有关如何正确命名和加载该文件夹的任何build议?

该标准将所有共享的部分放在app/views/shared ,并将其引用为

 render :partial => 'shared/partial_name' 

如果你有一个标准的“在列表中的行”部分(比如对于一个索引页),你可以使用一个共享的部分,如:

 # To render a single object row: render :partial => 'shared/item', :locals => { :item => @item } # Or to render them all: render :partial => 'shared/item', :collection => @items 

Rails 4:

把你打算使用的部分放到/app/views/application

然后在应用程序的任何地方,您都可

 render partial: 'partial_name', variable_name: variable 

附加的好处是,你总是可以通过重新定义在/app/views/controller_name/_partial_name.html.erb中的部分手段来覆盖特定视图空间中的部分,然后对部分的调用将引用更具体的上下文,如果不存在,则获得应用程序级别的部分权限。

来自Thoughtbot的build议

约定是把它们放在app/views/shared

如果你有很多的偏见,我build议你把它们放到这个文件夹的子目录中,无论对于你的应用程序是否有意义,因为在一个目录中有许多分支通常不是一个好习惯。