【问题标题】:Rails - File path to load content from a yaml fileRails - 从 yaml 文件加载内容的文件路径
【发布时间】:2013-02-11 06:01:13
【问题描述】:

我有各种以静态长格式文本为内容的文本文件。现在我将它们存储在配置文件夹中的单独“内容”文件中。例如“../config/content/content1.yml”“../config/content/content2.yml”等等。

我想在我的应用程序中将这些文件串在一起。所以在我的控制器中,我有一些变量试图提取每个文件的内容,例如

@content1 = YAML.load_file("#{Rails.root}/app/config/content/content1.yml")
@content2 = YAML.load_file("#{Rails.root}/app/config/content/content2.yml")

然后我尝试将该变量加载到我的视图中

<%= @content1 %>
<%= @content2 %>

这和我尝试过的所有其他方法似乎都不起作用。我真的只是想让文本显示在我的视图中。任何帮助我指出正确方向的帮助将不胜感激。我仍然对rails很不满意。

【问题讨论】:

  • 我认为你有设计问题,而不是代码问题。你的主要目标是什么?我很确定你这样做是非常错误的。
  • 我在单个文本文件中有大约 50 个单独的段落。它们位于单独的文本文件中,因为它们由不同的人编辑。我希望能够将包含所有段落的文件夹放入我的应用程序中,并让应用程序将它们全部拉到一起。
  • 你对使用有什么想法吗,例如 Markdown 和 partials?
  • @ŁukaszNiemier 我正在研究这个问题,这似乎是一个很好的解决方案。我想我仍然不明白的是如何引用markdown的文件路径。那么我如何实际调用降价文件的内容并将其显示在视图中。就像我说的,我只是在学习这些东西。

标签: ruby-on-rails text view yaml


【解决方案1】:

我不知道您为什么不想将这些数据存储在数据库中,但让我们仅使用视图来描述您需要什么。


根据 cmets,您需要的是部分。

例子:

让我们有文件app/views/content/editor1/paragraph1.html:

 Example paragraph

然后在您的视图中,您可以使用:

<%= render partial: 'content/editor1/paragraph1' %>

【讨论】:

  • 我在尝试此操作时收到“缺少模板”错误,我是否需要在控制器中添加一些特定代码才能使其正常工作?
猜你喜欢
  • 1970-01-01
  • 2011-07-22
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多