繁体   English   中英

Rails:将变量从视图传递到样式表

[英]Rails: pass variable from the view to stylesheet

我认为部分视图:

<section class="about map">
<h3>Contact address</h3>
<div id="gmap">
</div>
<% content_for :address_slider_top, 50 %>
<% content_for :address_slider_left, 80 %>
<%= render partial: 'address_slider' %>
</section>

我想设置值address_slider_topaddress_slider_left,以便可以从视图中确定部分css.erb中“ address_slider”的位置

#addresses{
width: 300px;
background-color: #fff;
height: 400px;
margin-top: <%= yield(:address_slider_top).to_s %>px;
margin-left: <%= yield(:address_slider_left).to_s  %>px;
}

它给了我一个LocalJumpError。 我尝试过

<%= render partial: "address_slider", locals: {address_slider_top: 50, address_slider_left: 80} %>

但是我也不能使它起作用。

资产不是视图。 当然,HTTP对它们的处理类似,但是它们在本质上并不相似并且具有不同的用途。

大多数时候资产具有有趣的性质:它们是静态的, 它们永远不会改变 另一方面,视图是数据的表示,并且经常更改。

因此,Rails具有利用该静态性的资产管道 在开发中,为了便于调试,资产被保留得很大,并在每次更改时重新编译。 在生产中,然而,有一个特殊的任务rake assets:precompile ,编译资产注入public ,然后通常由像nginx的 ,做它快速的反向代理服务的文件夹中。

因此,将变量嵌入资产中的最佳选择是在视图内部渲染相关样式 它可能是用HTML内联编写的,它可能是呈现CSS的特定视图(但我从未见过有人真正这样做过)。

暂无
暂无

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

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