-1

我刚刚完成了一个新的 Rails 应用程序的构建,现在我想构建一个简单(但多语言)的博客风格 FAQ 部分,其中包含包含 a question、 ananswer和 a categoryeach 的条目。

有没有办法用 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 回答