没有ID错误,找不到Wiki?

时间:2014-09-10 21:43:33

标签: ruby-on-rails ruby

我正在使用ruby on rails创建一个wiki克隆应用程序,我正在尝试销毁一个wiki,但是在点击destroy链接后我收到此错误:

Couldn't find Wiki without an ID

并且此代码块存在问题

def destroy
@wikis = Wiki.all
@wiki = Wiki.find(params[:wiki_id])
@collaborator = @wiki.users.find(params[:user_id])
authorize @wiki
end

我在我的wiki#views文件中调用delete函数。链接如下所示:

<%= link_to "Delete Wiki", @wiki, method: :delete, class: 'btn btn-danger', data: { confirm: 'Are you sure you want to delete this wiki?' } %> 

1 个答案:

答案 0 :(得分:2)

此错误由以下行引起:

@wiki = Wiki.find(params[:wiki_id])

params[:wiki_id]nil。所以基本上你是这样做的:

@wiki = Wiki.find(nil)

在这种情况下,find会抛出您看到的错误,因为它无法找到ID为nil的记录。

根据tadman的建议,请尝试将该行更改为以下内容:

@wiki = Wiki.find(params[:id])