重要可以发帖了。。。 是否可以写一个 erb,名字是 base。内容是我制定为的头部 和尾部。 再写一个文件名字是 extend,其内容是在 base 继承上扩展,并且运行此文件后,看到 base 的头,extend,base 尾部。
yield?
你直接将 头部 和 尾部 各自放到一个 erb 文件里,如 views/shared/_header.html.erb,
views/shared/_header.html.erb
然后你在你当前的文件里 render 'shared/header' 就可以。
render 'shared/header'
#2 楼 @hz_qiuyuanxin 我的中间部分如何告诉_header.html.erb,我需要他的内容做头部和尾部?需要什么关键字吗?
类似这样?用 content_for 和 yield,甚至 render 也行。
app/views/lots/dp.html.erb
<% if @lot.lotattributes.stdmrgebatch.present? -%> <% title = "#{@lot.lotattributes.stdmrgebatch} #{@product.packagecategory.packagecategoryname} #{@product.densitycode} DP" content_for :title, title %> <% else -%> <% title = "#{@product.packagecategory.packagecategoryname} #{@product.densitycode} #{@lot.containername} DP" content_for :title, title %> <% end -%> <%= render :partial => 'navbar', :locals => {:title => title, :print_template => 'dp' } %>
app/views/layouts/application.html.erb
<!doctype html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <title><%= (yield(:title) + " - " unless yield(:title).blank?).to_s + "MES View" %></title> <%= stylesheet_link_tag "application", media: "all" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> </head> <body data-spy="scroll" data-target=".navbar"> <% if notice.present? -%> <div class="alert alert-info"><%= notice %></div> <% end %> <%= yield %> </body> </html>