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

Bac*_*cko 43 ruby templates ruby-on-rails dry ruby-on-rails-3

我正在使用Ruby on Rails 3.0.7,我计划使用部分模板.我的应用程序中的所有类都将使用相同的部分,因此我必须决定在哪里找到所有这些部分.

将"全局"共享部分模板放在lib文件夹中是一个好主意吗?如果不是,选择文件夹的常用做法是什么?有关如何正确命名和加载该文件夹的任何建议?

ven*_*les 54

标准是将所有共享的部分放入app/views/shared,并将它们引用为

render :partial => 'shared/partial_name'
Run Code Online (Sandbox Code Playgroud)

如果您有一个标准的"列表中的行"部分(例如,对于索引页),您可以使用共享部分,如:

# To render a single object row:
render :partial => 'shared/item', :locals => { :item => @item }
# Or to render them all:
render :partial => 'shared/item', :collection => @items
Run Code Online (Sandbox Code Playgroud)

  • 这对Rails 4来说仍然准确吗? (4认同)

小智 16

导轨4:

在您的申请中填写您打算使用的部分内容 /app/views/application

然后,您可以轻松地在应用程序中的任

render partial: 'partial_name', variable_name: variable
Run Code Online (Sandbox Code Playgroud)

额外的好处是你总是可以通过重新定义部分意味着什么来覆盖特定视图空间/app/views/controller_name/_partial_name.html.erb中的部分,然后对partial的调用将引用你所处的更具体的上下文.如果不存在,你得到应用程序级别.

来自Thoughtbot的建议