我使用staticmatic为我以后用PHP的模板。有一些奇怪的情况,其中一些标签属性具有单引号,而一些标签属性具有双引号。我希望所有的人都有双引号(不是我重要的,但我希望他们像这样!)
例如,哈尔码:
!!! XML %html{html_attrs('hr-HR')} %head %title Some title %Meta{'http-equiv' => 'Content-Type',:content => 'text/html; charset=utf-8'}/ %Meta{'name' => "description",:content => 'Some title - YO!'}/ = stylesheets = javascripts('test',:other) %body = yield
产生以下内容:
<?xml version='1.0' encoding='utf-8' ?> <html lang='hr-HR' xml:lang='hr-HR' xmlns='http://www.w3.org/1999/xhtml'> <head> <title>Some title</title> <Meta content='text/html; charset=utf-8' http-equiv='Content-Type' /> <Meta content='Some title - YO!' name='description' /> <link href="stylesheets/application.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/grid.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/text.css" media="all" rel="stylesheet" type="text/css"/> <script language="javascript" src="javascripts/test.js" type="text/javascript"></script><script language="javascript" src="javascripts/other.js" type="text/javascript"></script> </head> <body> <h1>some body stuff!</h1> utf test šđčćž ŠĐČĆŽ </body> </html>
请注意,如果我在haml代码中使用单引号或双引号,我总是得到相同的输出!
此外,似乎haml-> html输出按字母顺序排列标签属性,而不是我以haml的顺序排列。我怀疑这与红宝石数组有关,但我不确定,因为我不能/不能在静态方式中使用Ruby。我怎么能让他们订购相同的,因为我已经订购了他们的红宝石阵列的哈尔码?
解决方法
尝试以下:
Haml::Template.options[:attr_wrapper] = '"'