2010-02-26 64 views
0

我刚刚开始检查Wordpress' CSS Architecture来研究一个已建立并且非常强大的系统,以便学习更好的HTML习惯。我注意到他们使用全部连字符-(例如post-554),而Rails使用下划线_(例如post_554)。我想知道是否有一些设置可以在Rails中进行自定义,例如ActionView::Template.word_boundary = "-"我们可以改变Rails写HTML标识的方式吗?

有吗?并不是说它真的很重要,只是试图了解为什么人们按照他们的方式做事。

:)

回答

1

你不能改变自身分离。它被硬编码到Rails中。 例如,post_554由dom_id助手生成,该助手内部依赖于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 

有两种方法来改变它:

  1. 创建了自己的助手(建议)
  2. 覆盖现有的方法/佣工自己的实现(不推荐)

还有一些技术限制解释了这种选择背后的原因,主要与Rails背后的语言有关。

举例来说,谈论符号

:post_554 # valid symbol 
:post-554 # invalid symbol 
:"post-554" # valid symbol 

使用-可能会需要到Ruby不太清洁剂的做法。

就个人而言,我更喜欢使用-而不是_,我倾向于避免,除非严格要求的标准Rails的助手。

相关问题