我需要帮助来制作一个地方或一个find_by来推送对象名称

时间:2015-02-19 20:50:47

标签: ruby-on-rails

我是编程新手,并创建了一个连接表,将人们带到桌子和桌子上。在表格中只显示了书的ID。必须显示属于此ID的图书的名称。试图找到一个地方但却找不到成功。关注我的节目。

<p id="notice"><%= notice %></p>

<p>
  <strong>Pessoa:</strong>
  ***<%= @leitura.pessoa_id %>***
</p>

<p>
  <strong>Livro:</strong>
  ***<%= @leitura.livro_id %>***
</p>

<%= link_to 'Edit', edit_leitura_path(@leitura) %> |
<%= link_to 'Back', leituras_path %>

1 个答案:

答案 0 :(得分:1)

你应该可以这样做:

Livro.find(@leitura.livro_id).name

find_by(id: ...)也可以。不同之处在于它将返回nil而不是引发异常,不存在给定ID的记录。)

但如果您的关联设置正确,这个更简单的代码也应该有效:

@leitura.livro.name

(如果@leiture.livro.try(:name) || '(no value)'可能不存在,您可以使用livro之类的内容来避免错误。)

这要求您在belongs_to课程中进行Leitura来电。