我正在使用Ruby on Rails 7和Turbo Rails gem,它提供了turbo_frame_tag方法。
我想给所有通过turbo_frame_tag
生成的<turbo-frame>
标签添加默认的html数据属性。也就是说,给定要添加的默认数据属性是data-custom="value"
,我想在每次使用turbo_frame_tag
时生成以下HTML:
<turbo-frame id="..." data-custom="value">...</turbo-frame>
我如何在初始化器中实现它?
1条答案
按热度按时间z8dt9xmd1#
可以这样做。。首先在初始化器中定义自定义属性:
然后覆盖Railsturbo_frame_tag视图帮助器以包含您的自定义属性。我通过在app/helpers/application_helper. rb中包含以下内容来实现这一点。可能有更干净的方法,但我没有花时间去找!
这只是复制并更改以包含自定义属性的Turbo视图辅助对象。
另一种方法是定义一个名为
custom_turbo_frame_tag
的helper,并添加属性(定义如上)。然后,这种方法调用标准的ActionView turbo_frame_tag帮助器,因此,如果将来的Rails版本更改内置帮助器,它可能会工作得更好。