【发布时间】:2014-07-07 18:53:48
【问题描述】:
我有这些路线:
resources :championships do
resources :rounds do
resources :games
end
end
当我尝试通过 POST 插入游戏时出现此错误:
NoMethodError in GamesController#create
undefined method 'games' for nil:NilClass
但是数据插入正确!
GamesController 的一部分:
before_filter :load_round
def create
@game = @round.new(model_params)
if @game.save
render json: @game, status: :created, location: @round
else
render json: @game.errors, status: :unprocessable_entity
end
end
private
def model_params
params.require(:game).permit(:team_1_id, :team_2_id)
end
def load_round
@round = Round.find(params[:round_id])
end
PS:我使用相同的逻辑将回合包含在锦标赛中,没有问题
【问题讨论】:
-
您使用任何序列化程序吗?如果删除
location: @round会发生什么? -
@DimitriJorge 我删除了位置,它工作正常!这个位置有什么用?
标签: ruby-on-rails json rest