【问题标题】:Syntax for Slim template's "role" attributeSlim 模板的“角色”属性的语法
【发布时间】:2014-09-06 08:22:18
【问题描述】:

slim 文档说您可以使用 @ 字符添加角色属性,但这样做时我的浏览器中出现语法编译错误。

示例来自 https://github.com/slim-template/slim

我们可以像这样在 Slim 代码中使用它

 .person@admin = person.name

渲染到

 <div class="person" role="admin">Daniel</div>

我的代码:

#navbar.affixable.navbar.navbar-default@navigation
  =link_to "G Who Said That", root_path
  ul.nav.navbar-nav
    li =link_to "About", about_path

【问题讨论】:

  • 您收到什么错误?
  • 文本行缩进不够深。第一个文本行定义了必要的文本缩进。您是否尝试将子标签嵌套在包含文本的标签中?使用 |对于文本块! c:/Sites/gwhosaidthat/app/views/layouts/_navbar.html.slim,第 4 行,第 4 列 li =link_to "About",about_path
  • @ 符号似乎被解释为期待别的东西,因此下一行被标记为无效
  • 您发布的代码是您正在使用的,还是来自文档?
  • 谢谢 - 导航栏行导致错误?

标签: ruby-on-rails slim-lang


【解决方案1】:

这是一个自定义快捷方式,您需要在使用前定义它。您可以通过以下方式定义它:

Slim::Engine.set_default_options :shortcut => {'@' => {:attr => 'role'}, '#' => {:attr => 'id'}, '.' => {:attr => 'class'}}

找不到关于在哪里定义它的文档,在 application.rb 中尝试一下,如果它不起作用,那么您可以使用正常方法

#navbar.affixable.navbar.navbar-default{role: "navigation"}

【讨论】:

  • 啊,我还是用正常的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 2020-05-27
相关资源
最近更新 更多