[英]Couldn't find with 'id'
當我使用方法“破壞”給我看一個錯誤
Couldn't find Post with 'id'=#<Post::ActiveRecord_Relation:0x000000045e14c0>
方法銷毀
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
視圖
<%= link_to 'Destroy', post_path(@posts),
method: :delete,
data: { confirm: 'Are you sure?' } %>
對不起,我的英語不好
您將@posts
變量定義為ActiveRecord :: Relation(某種模型數組,定義為@posts = Post.all
或類似的東西)。 為了解決您的問題,如果您在索引網址中調用link_to,則很可能您正在執行以下操作:
<% @posts.each do |post| %>
# link_to call somewhere here
<% end %>
然后,您必須將link_to更改為
<%= link_to 'Destroy', post_path(post),
method: :delete,
data: { confirm: 'Are you sure?' } %>
注意,我們使用.each do | var |中定義的變量。 塊,這是post
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.