Я хочу получить список всех отзывов, относящихся к категории a, которая относится к категории. Я получаю сообщение об ошибке при попытке получить список всех отзывов в файле JSON (это приложение API): «/Code/Rails/videogame_reviews/app/controllers/reviews_controller.rb:6: синтаксическая ошибка, неожиданный tIVAR , ожидая '(' @reviews = @ категории. @ game.reviews ^».Ошибка при попытке получить индекс списка вложенного маршрута Rails «неожиданный tIVAR»
Может кто-нибудь объяснить, почему это не удается? @reviews = Reviews.all работает, но показывает все отзывы.
этого является ReviewsController
def index
@game = Game.find(params[:game_id])
@category = Category.find(params[:category_id])
@reviews = @[email protected]
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
Это комментарий, а не ответ. – Ilya
@ Илья, я не согласен. –
Я пробовал свой код. Я прохожу через синтаксис, но я получаю из себя часть JSON: ** Ассоциация назвала «игры» не найдена в обзоре; возможно, вы ошиблись? ** – Samuel