如何渲染局部视图?

4th*_*ace 3 ruby-on-rails partial-views

我有以下几点:

/controllers/test_controller.rb

/views/test/index.html.erb

/views/test/_partial.html.erb

我想在索引视图中呈现部分。我这样做:

index.html.erb

<h1>Test#index</h1>
<%= render "_partial" %>
Run Code Online (Sandbox Code Playgroud)

_partial.html.erb

<p>This is partial content</p>
Run Code Online (Sandbox Code Playgroud)

当我转到 localhost:3000/test/index 时,出现此错误:

ActionView::MissingTemplate in Test#index
Missing partial /__partial with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}.
Extracted source (around line #2):

1 <h1>Test#index</h1>
2 <%= render "_partial" %>
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?

scl*_*m72 5

这个问题已经得到了回答,但是当部分与您当前的视图位于同一目录中时,您可以只渲染不带下划线的部分。但是,如果您想从另一个控制器中提取部分内容,则需要将其退后一步并使用更完整的路径,例如"users/partial".