Rails中一些特殊地方
1.-%>
<%3.timesdo%>
Ho!<br/>
<%end%>
MerryChristmas!
这会生成下列HTML:Downloaderb/ex2.op
Ho!<br/>
Ho!<br/>
Ho!<br/>
MerryChristmas!
可以看到,每当Ruby循环执行一次,其中的文本都会被发送到输出流。
但这里还是有些不大容易理解的事情:这些空行是从哪里来的?它们来自输入文件。认真想想就会发现,模板源文件在第一行与第三行的“%>”标记后面都加上了换行符。模板经过渲染之后,<%3.timesdo%>这句代码消失了,换行符却留了下来。循环每执行一次,输出的内容中就增加一个换行符,然后才是“Ho!”这行文字。同样的,<%end%>代码后面的换行符被插入到了最后一个“Ho!”与“MerryChristmas!”之间。
一般而言,这不是什么大问题,因为HTML并不关心空白字符。不过,如果你用模板机制来创建电子邮件,或是生成的HTML中包含<pre>代码块,就需要去掉这些空行。为此,只要把html.erb代码的结尾标记由“%>”改为“-%>”即可,这里的减号就会告诉Rails将紧随其后的换行符全部去掉。如果我们给“3.times”这句代码的结尾标记加上一个减号:
<%3.timesdo-%>
Ho!<br/>
<%end%>
MerryChristmas!
我们就会得到下列输出9:
Ho!<br/>
Ho!<br/>
Ho!<br/>
2.%{„}这样的符号。这是字符串字面量的另一种写法——就跟双引号一样,不过更适用于长字符串。
相关推荐
wl00 2020-10-28
EricNet 2020-07-05
EricNet 2020-05-27
何志文 2020-05-11
JOO 2020-04-26
happyfreeangel 2020-04-09
Poisedflw 2020-03-23
yangliuhbhd 2020-03-06
Ben的程序员生涯 2013-06-01
chenshuixian 2013-06-01
wes0 2014-05-31
mrice00 2019-12-20
EricNet 2019-12-11
89304896 2019-12-08
lihaoningxia 2013-07-09
userguanguan 2015-03-16