我在locals hash中填充了许多实例变量。有没有办法从局部中的local_assigns中提取多个实例变量?
<%= render 'tabs', :locals => {:tab1 => @news, :tab2 => @people, :tab3 => @tags} %>
在部分中我想基于实例变量的数量创建一组动态标签,我用本地填充。
<% local_assigns.each do |local_assign| %>
<% local_assign.each do |tabs| %>
<!-- Grab tab class name -->
<li class="tab"><%= tabs[:class] %></li>
<% end %>
<% end %>
答案 0 :(得分:0)
为什么不把它作为数组传递
render 'tabs', :locals => {:tabs => [@news, @people, @tags]} %>
在您的视图中
<% tabs.each do |tab| %>
<!-- Grab tab class name -->
<li class="tab"><%= tab[:class] %></li>
<% end %>
答案 1 :(得分:0)
谢谢Vimsha我最终使用集合而不是本地人,并在控制器中创建了实例变量。
http://guides.rubyonrails.org/layouts_and_rendering.html
Controller
@tabs = [@news, @people]
View
<%= render 'tabs', :collection => @tabs %>