0

我正在尝试通过 content_for 在 slim 中生成一个 html 标记属性。

我想得到的输出是这样的:

body data-turbolinks="false"

我尝试过的(该工作)如下:

在我看来

- content_for(:body_attributes) do
  =false

并来自我的应用模板

body data-turbolinks=(yield(:body_attributes) if content_for?(:body_attributes))

但是如果我想从我的 content_for 传递属性及其值,我找不到正确的语法。

我尝试了很多没有机会的事情,例如:

body*{(yield(:body_attributes) if content_for?(:body_attributes)}

或者

body[(yield(:body_attributes) if content_for?(:body_attributes)]

在我看来是这样的:

- content_for(:body_attributes) do
  = "#{'data-attribute=false'}"

感谢您的任何想法!


关于评论:

# Template
body*{yield(:body_attributes) if content_for?(:body_attributes)}
# View
- content_for(:body_attributes) do
  ="data-turbolinks=>false"

或者

# Template
body*{yield(:body_attributes) if content_for?(:body_attributes)}
# View
- content_for(:body_attributes) do
  data-turbolinks=false

生产:

syntax error, unexpected modifier_if, expecting => s(({yield(:body_attributes) if content_for?(:body_attributes

# Template
body(yield(:body_attributes) if content_for?(:body_attributes))
# View
- content_for(:body_attributes) do
  ="data-turbolinks=>false"

或者

# Template
body(yield(:body_attributes) if content_for?(:body_attributes))
# View
- content_for(:body_attributes) do
  data-turbolinks=false

生产:

Slim::Parser::SyntaxError Expected attribute
4

0 回答 0