我们可以改变Rails编写HTML ID等的方式吗?
我刚开始研究一个系统,这个系统已经建立起来,非常强大,可以学习更好的HTML习惯。我注意到他们使用所有连字符我们可以改变Rails编写HTML ID等的方式吗?,html,ruby-on-rails,wordpress,Html,Ruby On Rails,Wordpress,我刚开始研究一个系统,这个系统已经建立起来,非常强大,可以学习更好的HTML习惯。我注意到他们使用所有连字符-(例如post-554),而Rails使用下划线(例如post-554)。我想知道Rails中是否有一些自定义设置,比如ActionView::Template.word\u boundary=“-” 有吗?这并不重要,只是想了解人们为什么会这样做 :)您不能更改se分隔符。它被硬编码到Rails中。 例如,post_554由dom_idhelper生成,它在内部依赖于RecordIde
-
(例如post-554
),而Rails使用下划线
(例如post-554
)。我想知道Rails中是否有一些自定义设置,比如ActionView::Template.word\u boundary=“-”
有吗?这并不重要,只是想了解人们为什么会这样做
:)您不能更改se分隔符。它被硬编码到Rails中。 例如,post_554由
dom_id
helper生成,它在内部依赖于RecordIdentifier
类
这是定义
def dom_id(record, prefix = nil)
if record_id = record.id
"#{dom_class(record, prefix)}#{JOIN}#{record_id}"
else
dom_class(record, prefix || NEW)
end
end
分隔符,JOIN
常量被定义为冻结字符串,因此您无法更改它
module RecordIdentifier
extend self
JOIN = '_'.freeze
NEW = 'new'.freeze
有两种方法可以改变它:
:post_554 # valid symbol
:post-554 # invalid symbol
:"post-554" # valid symbol
使用-
可能需要一种不那么干净的Ruby方法
就我个人而言,我更喜欢使用-
而不是-
,除非严格要求,否则我倾向于避免使用标准的Rails助手