繁体   English   中英

可以查看是否无法在Rails中的ruby中扩展“ application / application.html.erb”?

[英]can view not extend “application/application.html.erb” in ruby on rails?

众所周知,在ruby on rails ,所有视图都从application/application.html.erb扩展而来,这在大多数情况下都是很好的,例如application.html.erb如下:

<html>
<head></head>

<body>

<%= render 'layouts/header' %>
<%= yield %>

</body>
</html>

我不需要在每个视图中再次编写相同的代码,但是有时,只是在视图上很特殊,该视图与视图不同,例如我不想添加<%= render 'layouts/header' %>在这种情况下。

也许参数在这种情况下只会对我有帮助,但是我想知道是否有任何视图不能从application/application.html.erb扩展?

视图不会从application.html.erb “扩展”,而是将其用作默认布局。 您当然可以使用控制器中的layout方法(或render方法中的layout选项)进行更改,如下所示:

# this changes the default layout in every views of `AdminController` (and all other controllers that inherit from `AdminController`):
class AdminController < ApplicationController
  layout :admin
  # ...
end
# this changes the layout of specific action:
class SomethingController < ApplicationController
  # ...
  def some_action
    # ...
    render layout: :some_layout
  end
end

参考如下: http : //guides.rubyonrails.org/layouts_and_rendering.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM