【发布时间】:2022-08-20 19:23:42
【问题描述】:
升级到 Rails 7,在我有嵌套层次结构的邀请系统上工作 路线:
resources :invites do
resources :guests
end
邀请模特有:has_many :guests, dependent: :destroy
嘉宾模特有:belongs_to :invite
从 guest_controller.rb 发出特定代码:
def destroy
@invite = Invite.find(params[:invite_id])
@guest = Guest.find(params[:id])
@guest.destroy
redirect_to invite_path(@invite)#, status: :see_other
end
当我不包含status: :see_other 时,Rails 会删除与该邀请关联的客人以及邀请本身。
但如果我包括它。通过仅删除选定的来宾条目,它可以按预期工作。
\'status:\' 究竟是做什么的。目前我还没有找到满意的答案。
-
你能解释一下
:see_other吗? -
不,我只是“从互联网上获取它”并且它可以正常工作,我不知道是什么使它工作,为什么在早期的项目(Rails 6)中不需要它,但现在它是。
-
:see_status 在这里解释:railsstatuscodes.com/see_other.html
-
@Michael 可能没有
see_other浏览器发出DELETE 而不是GET 到invite_url,因此它被删除(因为在InvitesController 中有destroy响应它的方法)。
标签: ruby-on-rails-7