Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 尝试获取列表嵌套路线轨道的索引时出错;意外的tIVAR“;_Ruby On Rails_Json_Controller_Nested Routes - Fatal编程技术网

Ruby on rails 尝试获取列表嵌套路线轨道的索引时出错;意外的tIVAR“;

Ruby on rails 尝试获取列表嵌套路线轨道的索引时出错;意外的tIVAR“;,ruby-on-rails,json,controller,nested-routes,Ruby On Rails,Json,Controller,Nested Routes,我想得到一个属于某个类别的所有评论的列表。我在试图获取JSON文件(这是一个API应用程序)中所有评论的列表时出错:“/Code/Rails/videogame_reviews/app/controllers/reviews_controller.rb:6:语法错误,意外的tIVAR,应为“('@reviews=@category.@game.reviews^” 有人能解释一下为什么失败吗?@reviews=reviews.all正在工作,但显示了所有的评论 这是财务总监 def index

我想得到一个属于某个类别的所有评论的列表。我在试图获取JSON文件(这是一个API应用程序)中所有评论的列表时出错:“/Code/Rails/videogame_reviews/app/controllers/reviews_controller.rb:6:语法错误,意外的tIVAR,应为“('@reviews=@category.@game.reviews^”

有人能解释一下为什么失败吗?@reviews=reviews.all正在工作,但显示了所有的评论

这是财务总监

def index
  @game = Game.find(params[:game_id])
  @category = Category.find(params[:category_id])
  @reviews = @category.@game.reviews
  respond_to do |f|
    f.html
    f.json { render json: { category: @category, game: @game, reviews: @reviews} }
  end
end
我已经从正在运行的GamesController索引中复制了一个副本

 def index
  @category = Category.find(params[:category_id])
  @games = @category.games
  respond_to do |f|
    f.html
    f.json { render json: { category: @category, games: @games } }
  end
end
这是评论模型

class Review < ActiveRecord::Base
  belongs_to :game
  validates_presence_of :comment
end

@reviews=@category.@game.reviews
的语法不正确。我猜您希望某个游戏的所有评论都在一个类别中?如果是,请尝试以下操作:

Review.joins(games: :category).where(categories: {id: @category.id}, games: {id: @game.id})

@reviews=@category.@game.reviews
的语法不正确。我猜您希望某个游戏的所有评论都在一个类别中?如果是,请尝试以下操作:

Review.joins(games: :category).where(categories: {id: @category.id}, games: {id: @game.id})
那条线,

@reviews = @category.@game.reviews
因为@game不是一个分类方法,所以不起作用。@game是一个变量。您可以在上面的答案中使用activeRecord查询来获取属于特定分类和游戏的所有评论

@reviews = Review.joins(games: :category).where(categories: {id: @category.id}, games: {id: @game.id})
那条线,

@reviews = @category.@game.reviews
因为@game不是一个分类方法,所以不起作用。@game是一个变量。您可以在上面的答案中使用activeRecord查询来获取属于特定分类和游戏的所有评论

@reviews = Review.joins(games: :category).where(categories: {id: @category.id}, games: {id: @game.id})

这是注释而不是答案。我尝试了你的代码。我运行了语法,但在JSON部分给了我一个eror:在审阅中找不到名为“games”的关联;可能是你拼错了?对不起,应该是单数:
Review.joins(game::category)。其中(类别:{id:@category.id},游戏:{id:@game.id})
@Ilya你是对我的帖子投否决票的人吗?想解释一下原因吗?@AnthonyE,你在说什么?我刚刚在第一次编辑时对这个端口投了否决票,因为它不是解决问题的解决方案,只注意语法不正确。然后,大约1小时前,自从你编辑了你的答案后,我就没有碰过否决按钮。这是评论而不是回答。我已经尝试了你的代码。我运行了语法,但在JSON部分给了我一个eror:在审阅中没有找到名为“games”的关联;可能是你拼错了?对不起,应该是单数:
Review.joins(game::category)。其中(categories:{id:@category.id},games:{id:@game.id})
@Ilya你是我的帖子被否决的人吗?想解释一下原因吗?@AnthonyE,你在说什么?我刚刚在第一次修订中否决了这个端口,因为它不是解决问题的解决方案,只注意语法不正确。然后,大约1小时前,自从你编辑了你的答案后,我就没有碰过否决按钮。谢谢你的解释谢谢你的解释!