ruby on rails -未定义的方法-多个belongs_to关联



我正在尝试创建一个显示多个一对多关联的视图。在我的应用程序中,每次"检查"都被分配给单个"客户"one_answers"代理"。我已经建立了我的人际关系。代理返回,因为它应该是,然而客户端返回一个未定义的方法nil:nilClass为"name "。"

# inspections_controller.rb
    def new
        @inspection = Inspection.new
        @agents = Agent.all
        @clients = Client.all
        respond_to do |format|
            format.html # new.html.erb
            format.json { render json: @inspection }
        end
    end 
# inspection.rb (model)
    belongs_to :agent
    belongs_to :client
# agent.rb (model)
    has_many :inspections
# client.rb (model)
    has_many :inspections
# index.html.erb (inspections view)
    <td><%= inspection.agent.name %></td> # works
    <td><%= inspection.client.name %></td> # returns undefined method `name'

我在这里不知所措,因为关联和表的设置完全相同。我可以返回<%= inspection.client_id %>

对于client_id的检查记录,可能没有对应的客户端。也许您在某个时候手动删除了客户端?检查你的数据,并在你的代码中添加检查,以确保你不会抛出错误,所以像这样的东西可能会有所帮助

 <td><%= inspection.client.name unless inspection.client.blank?%></td> # returns undefined method `name'

至少这样,您将能够直观地了解哪些检查没有相应的客户端,从而使您更容易调查为什么这可能是

相关内容

  • 没有找到相关文章

最新更新