我正在学习嵌套资源,并在尝试编辑事件时收到以下错误。事件资源嵌套在用户资源下。有什么提示吗?
ActiveRecord::RecordNotFound:
Couldn't find Event with id=133 [WHERE "user_events"."user_id" = $1]
# ./app/controllers/events_controller.rb:32:in `edit'
# ./spec/features/user_edits_reg_info.rb:69:in `block (2 levels) in <top (required)>'
事件控制器
def edit
@event = current_user.events.find(params[:id])
end
答案 0 :(得分:0)
听起来{id = 133的Event
不属于current_user
,而是属于不同的用户。
假设您在类似于/users/1/events/133/edit
的网址上访问此内容,您应该从:user_id
参数(我的示例中为1)中找到该用户,而不是使用current_user
:< / p>
def edit
@user = User.find(params[:user_id])
@event = @user.events.find(params[:id])
end