未定义的方法`id'对于nil:Jbuilder中的NilClass在尝试访问对象的属性时

时间:2015-04-21 09:38:36

标签: ruby-on-rails json ruby-on-rails-3 api

我试图在rails和代码中构建API服务

在我的api控制器中

def get_games
  @available_games = []
  Servernode.available.each do |node|
    node.packages.gsub(/(\[)|(\])|(\s)|(\")/, "").split(",").each do |p|
    @available_games << p
    end
  end
end
在我的get_games.jbuilder

json.array! @available_games do |available_game|
  product = Product.where(process_name: available_game).first
  json.name available_game
  json.product product    
  json.status "Available"
end

它以json格式呈现整个产品obejct并且工作正常。

但是,我尝试使用product.id而不是产品

json.array! @available_games do |available_game|
  product = Product.where(process_name: available_game).first
  json.name available_game
  json.product product.id    
  json.status "Available"
end

我总是遇到错误&#34;未定义的方法`id&#39;为零:NilClass&#34;当我尝试访问对象的属性时。当我尝试这样做时,不知道为什么我会出错。

非常感谢。

0 个答案:

没有答案