【发布时间】:2017-11-25 14:26:37
【问题描述】:
我有一个评论和回复。 评论有_许多回复
routes.rb
resources :comments do
resources :replies
end
当我打开 cmets/index 然后选择 cmets/show 时,我会打印与该评论相关的所有回复的信息。
<% @comment.replies.each do |reply| %>
我还可以创建另一个回复。所有这些都可以正常工作。
当我决定编辑其中一个回复时,问题就来了。
<%= link_to 'Edit', edit_comment_reply_path(@comment.replies,reply) %>
奇怪的是,如果有一个 ID 与我要修改的回复的 ID 相同的评论,则编辑工作正常。我想要修改的特定回复甚至不需要属于该评论。但是,如果我想编辑 ID 为 66 的回复,但没有 ID 为 66 的评论,则会出现错误:
Couldn't find Comment with 'id'=65
<%=form_with(model: @reply, url: [Comment.find(params[:id]), @reply]) do |form| %>
这是回复/_form.html.erb,它显然也可以用作编辑表单。在这种情况下,reply.id 为 65,它正在寻找具有相同 ID 但不存在的评论。
【问题讨论】:
-
您可以将
rake routes的输出添加到您的问题中吗? -
@xeon131 是的,我现在就去做
标签: ruby-on-rails database oop