-1

新しい Rails アプリケーションの構築を終えたばかりで、単純な (しかし多言語の) ブログ スタイルの FAQ セクションを構築したいと考えてquestionanswerますcategory

YAML ファイルを使用してこの種のものを構築する方法はありますか、またはこの種の機能を取得するには、コントローラー全体とモデルを最初から構築する必要がありますか?

FAQセクションは私だけが維持するので、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でこれを行うことはできますか? リンクやチュートリアルを教えてもらえますか?

助けてくれてありがとう。

4

1 に答える 1

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 操作を減らすことをお勧めします。

于 2013-04-11T12:04:40.663 に答える