我将staticmatic用于稍后用PHP的模板.有一种奇怪的情况,其中一些标记属性具有单引号,而一些标记属性具有双引号.我希望他们所有人都有双引号(不是我猜的很重要,但我希望他们这样!)
例如,haml代码:
!!! 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数组有关,但我不确定,因为我不能/不能在静态的情况下使用Ruby而不是haml.我怎么能按照我在haml代码中用ruby数组中的顺序订购它们?
解决方法
请尝试以下方法:
Haml::Template.options[:attr_wrapper] = '"'