我正在建設一個使用Rails的事件應用程序,並有評論作爲嵌套的資源。我試圖使用Ajax/in-line編輯來實現編輯功能,但是我的編輯鏈接不起作用。 我沒有在屏幕上看到錯誤,但我從我的開發日誌中得到了以上錯誤。註釋'id'= 27與event_id不是註釋ID相關。我該如何糾正這一點? 下面是相關的代碼 -Rails的 - ActiveRecord :: RecordNotFound(找不到評論與'id'= 27):
comments_controller.rb
class CommentsController < ApplicationController
before_action :set_event, only: [:show, :create, :edit, :update, :destroy]
before_action :set_comment, only: [:show, :create, :edit, :update, :destroy]
def create
@comment = @event.comments.create(comment_params)
@comment.user_id = current_user.id
if @comment.save
redirect_to @event
else
render 'new'
end
end
# GET /comments/1/edit
def edit
respond_to do |f|
f.js
f.html
end
end
def show
end
def update
if @comment.update(comment_params)
redirect_to @event, notice: "Comment was successfully updated!"
else
render 'edit'
end
end
def destroy
@comment.destroy
redirect_to event_path(@event)
end
private
def set_comment
@comment = Comment.find(params[:id])
end
def set_event
@event = Event.find(params[:event_id])
end
def comment_params
params.require(:comment).permit(:name, :body)
end
end
_comment.html.erb
<div class="comment clearfix">
<div class="comment_content">
<div id="<%=dom_id(comment)%>" class="comment">
<p class="comment_name"><strong><%= comment.name %></strong></p>
<p class="comment_body"><%= comment.body %></p>
</div>
<% if user_signed_in? %>
<p><%= link_to 'Edit', edit_event_comment_path(@event, @comment.event), id: "comment", remote: true %></p>
<p><%= link_to 'Delete', [@comment.event, comment],
method: :delete,
class: "button",
data: { confirm: 'Are you sure?' } %></p>
<% end %>
</div>
</div>
edit.js.erb
$('#comment').append('<%= j render 'form' %>');
_form.html.erb
<%= simple_form_for([@event, @comment], remote: true) do |f| %>
<%= f.label :comment %><br>
<%= f.text_area :body %><br>
<br>
<%= f.button :submit, label: 'Add Comment', class: "btn btn-primary" %>
<% end %>
我檢查的路線,他們都是因爲他們應該be.I無法檢查在線編輯是否會工作,除非我解決這個問題第一。
這是爲什麼? 'edit_event_comment_path(@event,@ comment.event)'?都是傳遞事件,請執行'edit_event_comment_path(@event,@comment)' –
然後我在頁面上找到'缺少必需的鍵[:id]'錯誤。 –
它是'@ comment'還是隻是'comment'?我把它看作你的視圖中的'comment',使用它 –