Ruby on rails Rails空关系没有方法错误

Ruby on rails Rails空关系没有方法错误,ruby-on-rails,activerecord,has-many,belongs-to,Ruby On Rails,Activerecord,Has Many,Belongs To,我只是犯了个错误 我得到了一个有很多关联的,但在填写表单时,我将字段留空,ir返回了一个错误: Showing /home/techmago/namebook/app/views/names/index.html.erb where line #16 raised: undefined method `nome' for nil:NilClass Extracted source (around line #16): 13: <% @names.each do |name| %&g

我只是犯了个错误

我得到了一个有很多关联的,但在填写表单时,我将字段留空,ir返回了一个错误:

 Showing /home/techmago/namebook/app/views/names/index.html.erb where line #16 raised:

undefined method `nome' for nil:NilClass

Extracted source (around line #16):

13: <% @names.each do |name| %>
14:   <tr>
15:     <td><%= name.nome %></td>    
16:     <td><%= name.family.nome %></td>
17:     <td><%= name.race.nome %></td>
18:     <td><%= h(name.descr).gsub(/\n/, '<br/>').html_safe %></td>
19:     <td>
显示/home/techmago/namebook/app/views/names/index.html.erb,其中第16行出现:
nil:NilClass的未定义方法“nome”
提取的源(第16行附近):
13: 
14:   
15:         
16:     
17:     
18:     
19:     
我确信那是因为其中一个名字.family.nome是nill。我希望这种情况能够被接受

型号:

class Name < ActiveRecord::Base
  belongs_to :family
  belongs_to :race
  has_and_belongs_to_many :books

  attr_accessible :descr, :family_id, :nome, :race_id, :book_ids

  validates :nome, presence: true
end

class Family < ActiveRecord::Base
  has_many :names
  has_and_belongs_to_many :books
  has_and_belongs_to_many :races

  attr_accessible :descr, :nome, :book_ids, :race_ids

  validates :nome, uniqueness: true, presence: true
end
类名
所以我们知道的是,
名称
,尤其是,没有关联的
对象。也就是说,
name.family
返回
nil
,如错误所示,它不响应
nome
。所以,如果你想要的是这件事被优雅地处理。。。i、 e.不要出错,不要显示任何内容。在这种情况下,您可以执行以下操作:

<%= name.family.try(:nome) %>

如果
name.family
nil
,则
try
块将返回
nil
,然后erb块基本上将返回空字符串


否则,您需要弄清楚为什么循环中的一个
名称
没有
系列
,然后从那里开始。

就是这样!塔克斯!