我正在尝试在索引和显示视图上显示一些嵌套属性值。我已经知道它们出现在我的显示视图中,但是所有值都显示在单个记录中。我想我可能需要在某个地方指定ID,但不确定。我在控制器中缺少什么吗?一切似乎都可以保存。
控制器
class CertificationApplicationsController < ApplicationController
before_action :set_certification_application, only: [:show]
# GET /certification_applications
# GET /certification_applications.json
def index
@certification_applications = CertificationApplication.all
end
# GET /certification_applications/1
# GET /certification_applications/1.json
def show
@certification_applications = CertificationApplication.includes(:individuals)
end
private
def set_certification_application
@certification_application = CertificationApplication.find(params[:id])
end
end
查看
这就是我在表演视图中显示它的方式。
<p>
<strong>Individual receiving certification:</strong>
<% @certification_applications.each do |ca| %>
<% ca.individuals.each do |i| %>
<%= i.email %>
<% end %>
<% end %>
</p>
答案 0 :(得分:0)
稍作休息,并使其在演出后不久就可以使用。只需进行一些调整即可达到目的。
更改了控制器的这一部分:
def show
@certification_applications = CertificationApplication.includes(:individuals)
end
到
def show
@certification_applications = CertificationApplication.includes(:individuals).find(params[:id])
end
我假设这允许属性与正确的ID匹配。
和我的观点
<% @certification_applications.each do |ca| %>
<% ca.individuals.each do |i| %>
<%= i.email %>
<% end %>
<% end %>
到
<% @certification_applications.individuals.each do |ca| %>
<%= ca.name %>
<%= ca.email %>
<% end %>
将需要确定如何使其与Index一起使用,但这是一个好的开始。