我决定尝试 .slim(slim 模板引擎),因为我不喜欢 .erb,而且我还想花时间学习一些从长远来看可能有用的东西。
由于我同时在关注rails_tutorial,所以我来到了使用yield(:title)
的部分
对于 .erb,它看起来像这样:
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
使用 .slim,我设法让它看起来像:
title
=> yield(:title)
| | Ruby on Rails Tutorial Sample App
现在,我想做的是能够在一行中输入它。那么有没有办法使用 .slim 来做到这一点?
这是另一个例子,我似乎无法写出一行
a<> href="http://www.railstutorial.org/"
em Ruby on Rails Tutorial
可能以后我什至不会做这样的事情,但此时此刻 为了更好地学习,我想要一些关于 .slim 的指导。
为了防止出现更多类似问题,另一个问题是,我在哪里可以找到包含此类示例的详细文档或教程。
后续:
我该如何转换它:
<% flash.each do |message_type, message| %>
<div class="alert alert-<%= message_type %>">
<%= message%>
</div>
<% end %>
好吧,我想我已经明白了:
- flash.each do |message_type, message|
.alert class="alert-#{message_type}"
= message
最佳答案
标签后跟文本将输出该文本作为标签的内容。您可以在文本内使用字符串插值#{expression}
来输出变量。
插入变量的内容文本:
title #{yield(:title)} | Ruby on Rails Tutorial Sample App
您还可以使用 tag =
将标记的内容设置为 ruby 表达式。
title = yield(:title) + " | Ruby on Rails Tutorial Sample App"
请注意,在这种情况下,如果 yield(:title)
返回 nil
当您有嵌套标签时,应该将它们放在单独的行上。
关于ruby-on-rails - 纤薄,嵌入 ruby ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26410354/