我正在尝试通过 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