ruby-on-rails - 当活动记录对象不为零时引用视图表中的字段时的零值
问题描述
我在 has_many :through 关系中的 rails 视图中遇到了一个奇怪的错误。
地块通过 PlotYears 有许多植物
该关联在 Rails 控制台中运行良好。甚至在索引视图的顶部。我在顶部放了一个小声明,只是为了验证我可以访问 plot.plants 中的字段。奇怪的是,当我在表中执行 plot.plants.first 时,我在表中得到了一个活动记录对象。但是当我尝试引用该对象中的任何字段时,我得到一个 nil 类。谢谢你的时间。
显示 /home..../index.html.erb 其中第 20 行提出:
nil:NilClass 的未定义方法“名称”
提取的源代码(大约第 20 行):
<% @plots.each do |plot| %> <tr> <%= @p = plot.plants.first.name %>
索引.html
<h1>Plots</h1>
<p> <%= Plot.first.plants.first.name %> </p>
<table>
<thead>
<tr>
<th>Sector</th>
<th>Lat</th>
<th>Long</th>
<th>Crop</th>
<th colspan="4"></th>
</tr>
</thead>
<tbody>
<% @plots.each do |plot| %>
<tr>
<td><%= plot.sector %></td>
<td><%= plot.lat %></td>
<td><%= plot.long %></td>
<td><%= plot.plants.first.name %></td>
<td><%= link_to 'Show', plot %></td>
<td><%= link_to 'Edit', edit_plot_path(plot) %></td>
<td><%= link_to 'Destroy', plot, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
解决方案
推荐阅读
- linux - BASH - 递归计算 MD5(不使用 MD5 DEEP)
- css - 如何为离子卡设置切换效果?
- http - 谷歌无法获取我的域或 IP,谷歌根本无法读取
- python - Tkinter:为所有标签设置列宽和字体大小?
- javascript - 根据全局常量替换组件中的模板 URL
- cpu-architecture - 如何计算 jitsi 视频通话的服务器计算
- ibm-datapower - 在 IBM Event Streams SaaS on Cloud 中,我可以在哪里查找失败的客户端连接尝试?
- asp.net - 有人可以解释一下 ASP.NET MVC 和 .NET Core 3.1 之间的区别吗
- spring-boot - 如何在 Spring Boot 中实现 Camunda SendTask
- url - 烧瓶捕捉和嵌套常见路线