繁体   English   中英

无法在Rails中显示关联的记录

[英]Trouble displaying associated records in Rails

我正在使用一个有两个表的Rails应用程序-客户和工作。 一个客户可以有很多工作,每个工作都属于一个客户。 我已建立协会并据此开展工作。

我在显示与客户相关的工作时遇到问题。 这是我在客户视图中的代码:

<%= @customer.jobs.each do |job| %>
  <%= job.id %>
<% end %>

我要做的只是测试是否会输出与此客户相关的工作ID。 它确实起作用,但是,我得到的不仅仅是输出的作业ID-这是我看到的:

1 [#<Job id: 1, job_number: nil, installation: "Yes", install_date: "10/10/10", delivery: "Yes", box_count: 25, room_type: "Kitchen", material: "Maple", exterior_colour: "Ginger Root", created_at: "2014-07-29 18:41:25", updated_at: "2014-07-29 19:58:59", customer_id: 1>] 

因此,您可以看到它有效,但是我不明白为什么我在[]中得到与该作业相关的其他信息。

我确定我的问题与命名有关,但这是我尝试过的唯一不会引发错误的版本。

有任何想法吗?

我不明白为什么我要在[]中获得与该工作相关的其他信息。

您必须在此行中删除=

<%= @customer.jobs.each do |job| %>

它应该是

<% @customer.jobs.each do |job| %>

一个小笔记

<% %> #Executes the Ruby code.

<%= %> #Prints the output.

<%而不是<%=用于周围的循环:

<% @customer.jobs.each do |job| %>
  <%= job.id %>
<% end %>

.each为每个元素执行给定的块,然后返回刚刚枚举的对象 因此,在第一行上使用<%=将输出@customer.jobs.each的返回值。

如果转到,请转到app / db / schema.rb并查看作业表,它将显示与该记录相关的所有字段。 默认情况下创建created_at和updated_at。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM