Ruby on rails 在erb模板中创建实例变量
假设我有两个erb视图:一个列表视图和一个显示视图,我想在列表视图中呈现显示视图 列表视图Ruby on rails 在erb模板中创建实例变量,ruby-on-rails,erb,Ruby On Rails,Erb,假设我有两个erb视图:一个列表视图和一个显示视图,我想在列表视图中呈现显示视图 列表视图 <% @vehicles.each do |vehicle| %> <h2><%= vehicle.type %></h2> <ul> <% vehicle.accessories.each do |accessory| %> <li><% accessory.title %><
<% @vehicles.each do |vehicle| %>
<h2><%= vehicle.type %></h2>
<ul>
<% vehicle.accessories.each do |accessory| %>
<li><% accessory.title %></li>
<% end %>
</ul>
<% end %>
我想您可能想让
显示查看部分。比如:
<% @vehicles.each do |vehicle| %>
<%= render "show" %>
<% end %>
<h2><%= vehicle.type %></h2>
<ul>
<% vehicle.accessories.each do |accessory| %>
<li><% accessory.title %></li>
<% end %>
</ul>
然后,您可以执行以下操作:
<% @vehicles.each do |vehicle| %>
<%= render "path/to/show_partial", locals: {vehicle: vehicle} %>
<% end %>
当然,你会想:
- 使用真实的
路径/to/show_partial
,无论它是什么,以及
- 进行一些快速加载,这样您就不会进行大量的N+1查询
我想您可能想让显示查看部分。比如:
<% @vehicles.each do |vehicle| %>
<%= render "show" %>
<% end %>
<h2><%= vehicle.type %></h2>
<ul>
<% vehicle.accessories.each do |accessory| %>
<li><% accessory.title %></li>
<% end %>
</ul>
然后,您可以执行以下操作:
<% @vehicles.each do |vehicle| %>
<%= render "path/to/show_partial", locals: {vehicle: vehicle} %>
<% end %>
当然,你会想:
- 使用真实的
路径/to/show_partial
,无论它是什么,以及
- 进行一些快速加载,这样您就不会进行大量的N+1查询
好吧,有时节目视图也可以自己查看,它仍然可以作为一个局部视图使用吗?另外,路径/to/show_部分
是路由中的路径还是文件本身的路径?当然,您可以在show.html.erb
视图中呈现\u show.html.erb
部分。(注意部分以下划线开头。)并且,路径是指向文件本身的路径。因此,如果\u show.html.erb
部分保存在app/views/vehicles
中,那么您将执行类似于渲染部分:“vehicles/show”,本地人:{vehicle:vehicler}
。那么,show视图有时也可以自己查看,它仍然可以作为部分工作吗?另外,路径/to/show_部分
是路由中的路径还是文件本身的路径?当然,您可以在show.html.erb
视图中呈现\u show.html.erb
部分。(注意部分以下划线开头。)并且,路径是指向文件本身的路径。因此,如果\u show.html.erb
部分保存在app/views/vehicles
中,那么您将执行类似渲染部分:“vehicles/show”,本地人:{vehicle:vehicler}
。