【发布时间】:2021-02-14 00:35:43
【问题描述】:
我在 rails 中生成了一个 Scaffold,其中包含有关某些植物的一些信息:名称、描述。身份证。
我想在我的root "home#index" 中显示该信息
但是索引页面没有呈现,我得到了错误:
Home#index 中的 NoMethodError
nil:NilClass 的未定义方法 `each'
>
这是我的代码
我知道它不是在“导入”我的@plants 类,那么如何将它导入到不同的视图中?
<table class="table">
<tbody>
<% @plants.each do |plant| %>
<tr>
<td><%= plant.plant_name %></td>
<td><%= plant.plant_description %></td>
<td><%= plant.plant_id %></td>
</tr>
<% end %>
</tbody>
</table>
【问题讨论】:
-
您必须将创建该变量添加到家庭控制器索引方法中。如果您查看植物的方法,很可能是
@plants = Plant.all,对吗?把它放在 home 控制器索引方法中,您将创建变量,以便您可以使用它。只是要清楚你不要“导入”它。您必须创建变量才能使用它,并且每个页面都有一个方法,在该方法中您可以创建要在视图中使用的任何变量。 -
谢谢,这太完美了。你为什么不回答而不是评论,所以我可以检查它是正确的答案?
-
好吧,没有代码我无法真正提供实际答案,所以我只是向您解释了发生了什么。另外,我确信这已经在之前的某个地方得到了回答。希望这有意义。
标签: ruby-on-rails ruby