Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 路轨:在视图中为干路轨_Ruby On Rails_Views_Dry - Fatal编程技术网

Ruby on rails 路轨:在视图中为干路轨

Ruby on rails 路轨:在视图中为干路轨,ruby-on-rails,views,dry,Ruby On Rails,Views,Dry,Hy 我在视图/布局中有一个布局,它有2列,然后在每个视图中我都有content_for:main_col和content_for:side_col。问题是我有5个以上的视图在content_for:side_col中有相同的内容 您对如何执行此操作有更好的想法吗?谢谢将其放入部分,并在需要的地方渲染部分 app/views/shared/_sidebar.html.erb <% content_for :sidebar do %> Hello, I am your neighb

Hy

我在视图/布局中有一个布局,它有2列,然后在每个视图中我都有content_for:main_col和content_for:side_col。问题是我有5个以上的视图在content_for:side_col中有相同的内容


您对如何执行此操作有更好的想法吗?谢谢

将其放入部分,并在需要的地方渲染部分

app/views/shared/_sidebar.html.erb

<% content_for :sidebar do %>
  Hello, I am your neighbourhood friendly sidebar!
<% end %>
<%= render :partial => "shared/sidebar" %>

您好,我是您的邻里友好侧边栏!
app/views/where/else.html.erb

<% content_for :sidebar do %>
  Hello, I am your neighbourhood friendly sidebar!
<% end %>
<%= render :partial => "shared/sidebar" %>
“共享/侧栏”%>

将其放入部分,并在需要的地方渲染部分

app/views/shared/_sidebar.html.erb

<% content_for :sidebar do %>
  Hello, I am your neighbourhood friendly sidebar!
<% end %>
<%= render :partial => "shared/sidebar" %>

您好,我是您的邻里友好侧边栏!
app/views/where/else.html.erb

<% content_for :sidebar do %>
  Hello, I am your neighbourhood friendly sidebar!
<% end %>
<%= render :partial => "shared/sidebar" %>
“共享/侧栏”%>

如果您需要将变量传递给partials(我猜您是这样做的),请使用助手这是一种非常简洁的方式来干燥代码:

# app/views/shared/_side_col.html.erb
<% content_for :side_col do %>
  <ul>
    <% menu_items.each do |item| %>
      <li><%= item %></li>
    <% end %>
  </ul>
<% end %>

# app/helpers/application_helper.rb
def side_col(menu_items)
  render 'shared/_side_col', :menu_items => menu_items
end

# app/views/your/view.html.erb
<%= side_col your_menu_items_for_this_view %>
#app/views/shared/_side_col.html.erb
#app/helpers/application_helper.rb def侧柱(菜单项) 呈现“共享/侧边颜色”:菜单项=>菜单项 结束 #app/views/your/view.html.erb
如果您需要将变量传递给partials(我猜您是这样做的),请使用助手这是一种非常简洁的方式来干燥代码:

# app/views/shared/_side_col.html.erb
<% content_for :side_col do %>
  <ul>
    <% menu_items.each do |item| %>
      <li><%= item %></li>
    <% end %>
  </ul>
<% end %>

# app/helpers/application_helper.rb
def side_col(menu_items)
  render 'shared/_side_col', :menu_items => menu_items
end

# app/views/your/view.html.erb
<%= side_col your_menu_items_for_this_view %>
#app/views/shared/_side_col.html.erb
#app/helpers/application_helper.rb def侧柱(菜单项) 呈现“共享/侧边颜色”:菜单项=>菜单项 结束 #app/views/your/view.html.erb
是的,这是个好主意!使用部分中的内容非常感谢!是的,这是个好主意!使用部分中的内容非常感谢!谢谢,但现在我的页面完全由javascript生成谢谢,但现在我的页面完全由javascript生成