我正在寻找符合以下要求的库或库集合:
指南针似乎很有希望,但它似乎不支持HAML.至少我正在寻找使Compass和HAML结合在一起的信息.
编辑 chriseppstein列出了很酷的东西.我会链接到每一个.
在HAML中,我们可以使用编写注释
-# some comment and it won't become HTML and made public
Run Code Online (Sandbox Code Playgroud)
但如果它在里面
:javascript
-# comments like this line will break the javascript interpreter as it becomes javascript code
// so we are forced to use comment like this and is publicly viewable
Run Code Online (Sandbox Code Playgroud)
有没有办法让它不公开?
我正在编写一个Rails帮助器方法,它将包装器html添加到捕获的内容块并替换content_for方法,例如
- content_for :header do
//haml code
Run Code Online (Sandbox Code Playgroud)
..会成为
- content :header do
//haml code
Run Code Online (Sandbox Code Playgroud)
为了做到这一点,我使用的是Haml和Ruby块.这就是它的样子
def content(name,&block)
content_for name do
capture_haml do
haml_tag "div",{:id=>name.to_s} do
haml_tag "div",{:id=>"#{name.to_s}_group"} do
block
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
但我不能让这个工作.没有错误消息.它只是没有显示块!我不确定我做错了什么.我很欣赏第二个意见.
我对RoR开发的重视程度越来越高.ERB对我不太合适.我之前用JSP做了一次.即使逻辑是特定于视图的,在我的标记中嵌入Ruby代码也不会是一个好的计划.也许我的恐惧是没有根据的,但感觉很危险.另外,还有很多打字.
我找到了HAML,我正在给它一些评价.如果它是一个很好的选择,也许你可以为它提供一些好的资源.
除了HAML之外,Rails View层还有其他ERB替代方案吗?
我对ERB的担忧是否不合理?
我正在开发一个Rails3引擎应用程序,我想使用Haml来查看视图.
首先,我所做的是将其添加到引擎Gemfile:
gem "haml"
Run Code Online (Sandbox Code Playgroud)
当我测试我的引擎时,它工作正常(我使用https://github.com/josevalim/enginex生成gem并使用虚拟应用程序测试它).
当我尝试在真正的Rails应用程序上使用引擎时,我的问题开始了.应用程序在它自己的Gemfile上没有gem"haml",因此它没有初始化Haml,因此我收到模板未找到错误,因为它没有查找.haml视图.我想通过在引擎上要求Haml,Rails应用程序也需要它.
我现在所做的是使用以下代码在引擎上添加config/initializers/haml.rb:
require 'haml'
Haml.init_rails(binding)
Run Code Online (Sandbox Code Playgroud)
它现在正在运行,但我想知道这是否真的是一个很好的方法.为什么Rails没有调用Haml"init.rb"文件,因此只需将gem"haml"添加到引擎Gemfile中就可以正确初始化Haml?
我移动了一个使用1.8.7到1.9.2的网络应用程序,现在我不断获取
incompatible character encodings: ASCII-8BIT and UTF-8
Run Code Online (Sandbox Code Playgroud)
我的数据库编码为UTF-8,我也有'config.encoding ="utf-8"'.
我看到一些想法可能的解决方法,我补充说
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Run Code Online (Sandbox Code Playgroud)
但它也没有用.
我收到此错误的一个特定代码块是
%ul.address
- @user.address.split(',').each do |line|
%li= line.titleize
Run Code Online (Sandbox Code Playgroud)
我正在使用HAML,我检查了line.titleize,编码是UTF-8.似乎模板是用ASCII-8BIT渲染的,每当我尝试渲染像'ñ'这样的字符时它就会被搞砸
我正在使用Rails 3.0.5.
我读过詹姆斯爱德华格雷的帖子,但我仍然可以弄明白发生了什么;(.
我真的很感激任何帮助:D.
我也尝试过:
"string".force_encoding("UTF-8")
Run Code Online (Sandbox Code Playgroud)
和
# encoding: utf-8
Run Code Online (Sandbox Code Playgroud)
没有运气.
固定
看评论.
我知道这是一个非常非标准的用例,但我正在链接HAML,Markdown和Handlebars(在SproutCore 2.0中),而且我距离'漂亮'代码只有一步之遥.混合HAML,Markdown和Javascript不太理想.如果我想在HAML的整个输出中添加一个后置过滤器,替换{{text}}为<script>{{text}}</script>,最好的方法是什么?
我可以在之后修改后构建步骤haml,但是我想把它变成我可以回馈给SproutCore社区的东西.
我想替换
%body
javascript:
{{handlebars}}
Run Code Online (Sandbox Code Playgroud)
同
%body
{{handlebars}}
Run Code Online (Sandbox Code Playgroud)
哪会给我
<body>
<script>{{handlebars}}</script>
</body>
Run Code Online (Sandbox Code Playgroud)
但是,我也想在嵌入降价时使用它.例如,
%body
markdown:
# Hello, {{handlebars}}
Run Code Online (Sandbox Code Playgroud)
目前,获得这个的唯一方法是
%body
markdown:
# Hello, <script>{{handlebars}}</script>
Run Code Online (Sandbox Code Playgroud)
哪个会产品
<body>
<h1>Hello, <script>{{handlebars}}</script></h1>
</body>
Run Code Online (Sandbox Code Playgroud) 有没有人有将这两者结合在一起的经验?JHAML是HAML的Java实现.我开始喜欢HAML,如果它可以和Play一起使用会很棒.
有经验吗?
我想知道是否有人遇到过任何haml-rails关于Rails 4.0中的宝石的障碍.有一个Rails Cast说有一些问题,但没有更多的提到这一点.在GitHub上托管的gem也没有明确提到对Rails 4.0的支持.那么这个状态是什么?
在Rails中使用视图模板作为'.html.haml'和简单地'.haml'之间有什么区别?例如,
show.html.haml
vs
show.haml
使用一个优于另一个有什么特别的优势吗?或者其中一个是标准做法?同样的问题也适用于其他类型的模板,例如'.erb'.