2010-02-26 44 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的助手。

相關問題