如果在Ruby on Rails上使用HAML,那么
:sass
#someDiv
border: 3px dashed orange
Run Code Online (Sandbox Code Playgroud)
<style>他们周围不会有任何标签.
然后
:css
:sass
#someDiv
border: 3px dashed orange
Run Code Online (Sandbox Code Playgroud)
不会踢过:sass滤器,但是
:css
:sass
#someDiv
border: 3px dashed orange
Run Code Online (Sandbox Code Playgroud)
将踢过:sass滤器,但它在<style>标签之外.那么如何使用:sass滤波器呢?我们可以手动环绕<style>它,但是我们想要从sass生成css而不是<style>HAML文件中的标记内部并不常见.
基本上我想做的是有一个根application.haml包含核心css和js然后网站布局就像这样
所以我尝试通过向我的控制器添加一个sub_layout来实现这一点,例如我的家庭控制器是一个营销部分:
def sub_layout
"marketing"
end
Run Code Online (Sandbox Code Playgroud)
用户使用的实际应用程序的控制器
def sub_layout
"userapplication"
end
def sub_layout
"siteadministrators"
end
Run Code Online (Sandbox Code Playgroud)
然后在application.haml中我调用= render(:parital =>"layouts /#{controller.sub_layout}")
这将返回"未定义的方法`格式"为nil:NilClass"
像这里的许多人一样,我对rails和haml很新,特别是虽然我有.NET MVC和Spark View引擎的经验
关于这个haml看起来怎么样的想法?
嘿伙计们我遇到了一个问题:
如果使用这样的东西:
!!! XML
!!!
%html
%head
%title Myspace
%body
%h1 I am the international space station
%p Sign my guestbook
Run Code Online (Sandbox Code Playgroud)
我只把它作为来源:
<!DOCTYPE html>
<html>
<head>
<title>Myspace</title>
</head>
<body>
<h1>I am the international space station</h1>
<p>Sign my guestbook</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助 :)
如何article.content过滤:纺织?
- @articles.each do |article|
%article.post
%header=article.name
%p
:textile
=article.content
%footer
Run Code Online (Sandbox Code Playgroud)
输出
<article class="post">
<header>game</header>
<p>
</p><p>=article.content</p>
<p></p>
<footer></footer>
</article>
Run Code Online (Sandbox Code Playgroud) 有没有办法在TextMate中显示"Soft Tabs"(空格)?View→ Show Invisibles如果您使用制表符进行缩进,则可以很好地跟踪缩进.不幸的是,在缩进是语义的语言中,您通常必须使用空格.(Python,YAML,HAML,CoffeeScript)
有关在TextMate中显示此空白或跟踪软缩进的建议吗?我应该继续坚持Textmate2吗?
我们也欢迎其他策略和建议.
我想在Haml-Coffee中做以下事情:
- case msg.type
- when "usertext"
= msg.body
- when "direct"
= msg.content.kbcontent_body
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误"保留字"案例""
我怀疑它实际上并没有被Haml-Coffee支持.
因此,当使用内联块而不是浮动时,我阅读了关于使间距消失的解决方案:显示:内联块额外边距和http://css-tricks.com/fighting-the-space-between-inline-block - 元素/.
因此,如果您正在使用haml并希望将结束标记放在与下一个开始标记相同的行上,那么除了切换到ERB之外还有解决方案吗?
(不,我不想弄乱父容器的css属性,并且必须在所有子元素中覆盖它).
这打破了(锚之间有间距).
因此,尽管建议使用内联块而不是浮点数来进行此类布局,但似乎浮动仍然是要走的路,特别是在使用haml时?
CSS
nav a {
display: inline-block;
padding: 5px;
background: red;
}
Run Code Online (Sandbox Code Playgroud)
HTML
<nav>
<a href="#">One</a>
<a href="#">Two</a>
<a href="#">Three</a>
</nav>
Run Code Online (Sandbox Code Playgroud)
解决方法(css-tricks one):
<ul>
<li>
one</li><li>
two</li><li>
three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
要么
<ul>
<li>one</li
><li>two</li
><li>three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
另一个:
<ul>
<li>one</li><!--
--><li>two</li><!--
--><li>three</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我在部分Rails应用程序中使用Angularjs,效果很好.但我想知道如何在link_to中使用Angular值.
这是我的伪代码:
%table
%tr{"ng-repeat" => "book in books"}
%td
{{book.title}}
%td= link_to "Show", book_url({{book.id}})
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误:
syntax error, unexpected '}', expecting tASSOC
Run Code Online (Sandbox Code Playgroud)
这也可能与导致错误的HAML有关,但我如何在link_to中发送ID?
我刚刚学习了几本haml教程,但我无法弄清楚如何将html文件(直接)包含到haml文档中.例如:
.header
hello
= render :partial => "b.html"
Run Code Online (Sandbox Code Playgroud)
world
Run Code Online (Sandbox Code Playgroud)
<div class='header'>
hello
world
</div>
Run Code Online (Sandbox Code Playgroud)
我也试过= render "b.html"了.我得到一个错误
haml a.haml --trace
test.haml:8:in `block in render': undefined method `render' for #<Object:0x000000018b2508> (NoMethodError)
from /usr/lib/ruby/vendor_ruby/haml/engine.rb:129:in `eval'
from /usr/lib/ruby/vendor_ruby/haml/engine.rb:129:in `render'
from /usr/lib/ruby/vendor_ruby/haml/exec.rb:313:in `process_result'
from /usr/lib/ruby/vendor_ruby/haml/exec.rb:43:in `parse'
from /usr/lib/ruby/vendor_ruby/haml/exec.rb:23:in `parse!'
from /usr/bin/haml:9:in `<main>'
Run Code Online (Sandbox Code Playgroud)
听起来我需要包含一个库来使用"渲染"或安装库.如何将未格式化的文本转储b.html到我想要的文档中?