2013-04-11 31 views
-1

我剛剛完成建立一個新的Rails應用程序,現在我想建立包含question,一個answercategory每個條目的簡單(但多語種)博客風格的常見問題解答部分。建立從YAML博客或FAQ部分文件只有在Ruby on Rails的?

是否有建立這種事情與YAML的文件或我需要從頭開始建立一個完整的控制器加模型來獲得這種功能的方法嗎?

FAQ部分將僅保留me,所以使用YAML文件將是一個選項。

我心目中什麼是這樣的:

# faq.yml 

faq: 
    payment: 
    entry1: 
     question: "How can I pay?" 
     answer: "You can pay by credit card or PayPal." 
    entry2: 
     question: "Who coded this app?" 
     answer: "The best coder ever!" 

這能在Rails中都做了什麼?有人可以指向我的鏈接或教程?

感謝您的任何幫助。

回答

2

你可以去任何一種方式。您將需要控制器/視圖功能,但不需要模型。如果你想使用上述YAML代碼,你可以像這樣來閱讀:

# In your FaqController: 
@faq = YAML.load_file("#{RAILS_ROOT}/config/faq.yaml") 

# In index.html.erb 
<%- @faq['faq'].each do |subject, entries| %> 
    <h1><%= subject %></h1> 
    <%- entries.each do |entry| %> 
    <h2><%= entry['question'] %></h2> 
    <p><%= entry['answer'] %></p> 
    <%- end %> 
<%- end %> 

當然,這可能是更容易出現錯誤和難以維持比使用一個數據庫驅動的模型和您可能需要在應用程序的整個生命週期中緩存YAML文件以減少I/O操作。

+0

好,看起來不錯。謝謝。但爲什麼會比DB驅動的模型更容易出錯呢? – Tintin81 2013-04-11 12:58:05

+0

我說* *可能更容易出錯。我說這是因爲你依賴於YAML,並沒有真正的輸入驗證變更。當然,locale文件也是如此,所以通過適當的測試,您將能夠防止錯誤。 – 2013-04-11 13:31:59

相關問題