我肯定会在 RoR 上有所进展。只是想澄清一些关于循环的事情。
我创建了一个“输入”控制器,其中包含让用户创建、读取、更新和删除数据库条目的方法。
我还有一个呈现 html 前端的“输入”视图。视图中有以下循环:
<table>
<% @inputs.each do |input| %>
<tr>
<td><%= input.title %></td>
<td><%= input.content %></td>
<td><%= link_to 'Show', input %></td>
<td><%= link_to 'Edit', edit_input_path(input) %></td>
<td><%= link_to 'Destroy', input, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<% end %>
</table>
我理解循环在概念上是如何工作的,但我对此有点迷茫。
我认为@inputs
“将代码指向”(请更好地表达这一点?)指向循环使用的方法所在的输入控制器。
在输入控制器内部确实有诸如“编辑”、“创建”、“显示”和“销毁”之类的方法。
但是控制器中没有“标题”或“内容”方法!他们来自哪里?
而且,老实说,我不明白
<% @inputs.each do |input| %>
很好。
这是我试图理解的:
@inputs = 转到输入控制器
.each = 在输入控制器上调用 each 方法。(这个 each 方法在哪里定义?它甚至是什么意思,在控制器上调用 each ?)
做 | 输入 | = 无论在控制器上调用 .each 做什么,它都会生成一个名为“输入”的对象。
现在,“输入”对象确实包含诸如标题和内容之类的方法,但是这些方法是从哪里来的呢?它们实际上不在控制器内部!
无论如何,非常感谢。