在 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 中使用视图的主要内容,如果未能解决你的问题,请参考以下文章