Ruby on rails 当某些记录的值可能尚未关联时,如何显示和对象的关系?
我开始学习Rails,但我不知道该语言的最佳实践是什么 我搭建了Ruby on rails 当某些记录的值可能尚未关联时,如何显示和对象的关系?,ruby-on-rails,Ruby On Rails,我开始学习Rails,但我不知道该语言的最佳实践是什么 我搭建了票证和状态模型(票证有其当前状态)。在我的数据库中,我有没有与状态相关联的记录(ticket.Status为nil),但我也有已经与状态相关联的记录(ticket.Status具有#对象) 当我在一个表中列出所有票据(/ticketsurl)时,我列出票据并显示状态名称(status.nome),如下所示: %td= ticket.status.nome 但当某些记录没有关联状态时,我会得到一个错误:未定义nil:NilClass
票证
和状态
模型(票证有其当前状态)。在我的数据库中,我有没有与状态相关联的记录(ticket.Status
为nil
),但我也有已经与状态相关联的记录(ticket.Status
具有#
对象)
当我在一个表中列出所有票据(/tickets
url)时,我列出票据并显示状态名称(status.nome
),如下所示:
%td= ticket.status.nome
但当某些记录没有关联状态时,我会得到一个错误:未定义nil:NilClass的方法'nome'
在这种情况下,我应该如何处理
--
更新
Ticket.all
给我:
#<Ticket id: 5, titulo: "aeeee", descricao: "desc", user_id: nil, status_id: nil, created_at: "2015-09-11 07:01:38", updated_at: "2015-09-11 07:01:38">
#<Ticket id: 6, titulo: "teste", descricao: nil, user_id: nil, status_id: 1, created_at: "2015-09-11 07:09:45", updated_at: "2015-09-11 07:09:45">
#
#
nil:NilClass的未定义方法“nome”
对于快速解决方案,您可以使用
这将消除错误。我使用它,它就像一个符咒
在您的车票
车型中,请执行以下操作:
delegate :nome, to: :status, prefix: true, allow_nil: true
你可以这样称呼它
ticket.status_nome
ticket.status_nome