【发布时间】:2016-04-30 09:53:13
【问题描述】:
我想获取属于某个类别的所有评论的列表。尝试获取 JSON 文件(它是一个 API 应用程序)中所有评论的列表时出现错误:“/Code/Rails/videogame_reviews/app/controllers/reviews_controller.rb:6: syntax error, unexpected tIVAR , 期待 '(' @reviews = @category.@game.reviews ^"。
谁能解释为什么这会失败? @reviews = Reviews.all 正在运行,但会显示所有评论。
这是ReviewsController
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
这是游戏模型
class Game < ActiveRecord::Base
belongs_to :category
has_many :reviews
validates_presence_of :title, :category
end
这就是类别模型
class Category < ActiveRecord::Base
validates_presence_of :name
has_many :games
end
这是评论的路线
resources :categories do
resources :games do
resources :reviews
end
end
【问题讨论】:
标签: ruby-on-rails json controller nested-routes