Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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 Rails中的嵌套布局?_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails中的嵌套布局?

Ruby on rails Rails中的嵌套布局?,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我正在制作一个网站,每个页面都有一个共同的页眉/页脚,但是页面内容有完全不同的部分和样式表的不同布局。如何在另一个模板中渲染一个模板,使其成为完全独立的部分—它不继承父级的任何样式,也不影响父级 我试过这样做,但是样式表重叠。您可以使用iframe。iFrame基本上是独立的HTML文档,具有自己的样式表等。问题是它们的父页面不会真正知道子页面的大小,因此您需要选择一个宽度并使用内部滚动条,或者使用javascript 一个更好的解决方案可能是找到一种更好的方法来管理CSS,这样你就不会做那些不

我正在制作一个网站,每个页面都有一个共同的页眉/页脚,但是页面内容有完全不同的
部分和样式表的不同布局。如何在另一个模板中渲染一个模板,使其成为完全独立的部分—它不继承父级的任何样式,也不影响父级


我试过这样做,但是样式表重叠。

您可以使用
iframe
。iFrame基本上是独立的HTML文档,具有自己的样式表等。问题是它们的父页面不会真正知道子页面的大小,因此您需要选择一个宽度并使用内部滚动条,或者使用javascript

一个更好的解决方案可能是找到一种更好的方法来管理CSS,这样你就不会做那些不应该影响CSS的事情。随着软件的发展,它通常会对你产生很大的影响。有很多方法可以做到这一点,但从个人角度来看,我非常喜欢BEM语法


不过,有一个很好的办法,那就是为你工作,所以不要把不同的开发人员所做的事情当作福音

看起来您需要的是partials。您可以将它们分成不同的组件,并使用rails分部

例如,如果始终具有相同的页眉和页脚,则可以将它们放在
layouts/application.html.erb
文件中。然后,在每个页面的主体模板中,可以使用partial呈现每个单独的部分

只需创建这样一个文件
\u seciont\u 1.html.erb
。然后在相应的页面中,使用
进行渲染。更多信息请查看下面的链接

至于样式表,在您的
application.css
application.scss
文件(位于
app/assets/stylesheets/
下)中,删除行
*=require\u树。
。这一行是加载所有样式表的行。取而代之的是,只选择您在所有页面中使用的内容,例如页脚和页眉的css文件

然后在每个特定的部分文件中,像这样加载相应的css文件

true%>

对您的JS文件执行同样的操作。您可以在
app/assets/javascript/
中的
application.js
中找到它。删除行
/=require\u tree.
,并使用该行请求相应的js文件


true%>

谢谢您的评论。我是web开发新手,对iFrame知之甚少,所以我将查看+BEM。基本上,我有一个独立的“如何工作”页面的工作网站,我想包括页眉和页脚,但有一个不同的单页布局,我在网上购买。这就是样式表重叠的原因。
------------------------------
|           header           |
------------------------------
|         |                  |
|section_1|     section_2    |
|         |                  |
------------------------------
|           footer           |
------------------------------