2009-10-30 47 views
13

在我正在構建的應用程序中,我使用acts_as_tree關聯將XML文件存儲在我的數據庫中。我想命名類XMLElement,但由於大寫字母不標準,這會導致關閉。它正在從文件名xml_element.rb尋找XMLElement。我嘗試將文件名改爲x_m_l_element.rb,試圖讓它認爲「XML」確實是兩個單詞,但這也不起作用。我是否應該吸取它並使用名稱XmlElement而不是更理想的XMLElement,還是有更好的解決此問題的方法?帶縮寫的模型的非正統名稱的路徑

回答

10

約定優於配置人員。把它吸起來。

+0

我認爲這是最簡單的解決方案,但我不知道是否有配置它的方法,例如,如果您有更好的名稱,Rails允許您配置數據庫表的名稱,所以我認爲可能有一種方法來配置這一點。我拿它沒有? – 2009-10-30 23:25:57

+0

請查看下面的答案,您可以使用ActiveSupport inflectors – 2015-02-05 23:28:02

2

是的,你應該使用XmlElement。

不僅對於這個例子,而且對於應用程序的每個方面來說,它永遠都不會退讓以改變慣例。在Rails的引擎之下有很多「魔力」,它不值得。

25

將以下內容添加到config/initializers/inflections.rb

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.acronym 'XML' 
end 

現在運行$ rails g model XMLElement…將創建一個名爲XMLElement在名爲xml_element.rb文件和相關的表xml_elements類。