在 Rails 中使用视图

Posted

技术标签:

【中文标题】在 Rails 中使用视图【英文标题】:Working with views in rails 【发布时间】:2012-08-22 12:27:04 【问题描述】:

所以,我现在有两个可以从数据库中检索的文件。它们包含如下:

    描述某些项目的信息表。本质上,键值对。像这样的:

     ----------------------------------------------------
    |   id     |    count     |        description       |
    |----------------------------------------------------|
    |    1     |    6         |        description       |
    |   43     |    0         |        description       |
    |   25     |    11        |        description       |
     ----------------------------------------------------
    

    从集合到 ID 的映射:

     -----------------------
    |   collection |   ids  |
    |-----------------------|
    |        a     |  1,10  |
    |        b     |  25,43 |
    |        c     |        |
     -----------------------
    

(这几乎可以肯定是一个不清楚的标题,但我不确定我在这里缺少什么。)

我想创建一个页面,这样我基本上可以查看第二个表中的内容(这相当简单)。我希望能够单击第二个表中的一个集合 ID,然后转到仅显示第一个表中相关行的页面。

也就是说,你点击 b,你会看到:

 ----------------------------------------------------
|   id     |    count     |        description       |
|----------------------------------------------------|
|   43     |    0         |        description       |
|   25     |    11        |        description       |
 ----------------------------------------------------

我不知道该怎么做,我想要一些指示。

数据当前存储在一些yaml 文件中,但我可以以任何我想要的方式存储它,真的。我正在为这个项目使用 Rails。这感觉应该很容易,我只是没有正确理解 Rails 中的视图。

我可以创建某种适用于每个 id 并同时显示其中一组的模型吗?这感觉是最方便的解决方案,因为它可能允许我拥有指向 id 的硬链接。

【问题讨论】:

直截了当:您是否有理由将文件从数据库中提取到 yaml 中,然后在 Rails 应用程序中读取这些 yaml 文件?为什么不直接从应用中读取数据库? 【参考方案1】:

如果您可以使用 RoR 创建页面,您必须阅读 this。之后,您必须在控制器(控制器中的操作)中创建对象(例如:@data = Post.all)。该对象将具有来自数据库的数据。最后,您的视图文件使用此对象并显示您的 html 代码。例如 index.html.erb:

<h1>Index</h2>
<table>
 <thead>
   <th>ID</th>
   <th>Desc</th>
 </thead>
 <tbody>
  <% @data.each do |d| %>
    <tr>
      <td><%= d.id %></td>
      <td><%= d.desc %></td>
    </tr>
  <% end %>
 </tbody>
</table>

如果我没有理解你的问题,非常抱歉。

【讨论】:

以上是关于在 Rails 中使用视图的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 中使用视图

在 Rails 中使用视图检查数组

在 Rails 中使用条件显示视图元素

如何在 Rails 6 的视图中使用 JQueryUI

在使用 rails 的动态加载视图中使用 Jquery 插件

何时在 Rails 视图中使用 @ 以及何时使用符号?