gpt4 book ai didi

ruby-on-rails - 什么是ArticlesController#show中的NoMethodError?什么是nil :NilClass?的未定义方法 `category_id'

转载 作者:行者123 更新时间:2023-12-03 08:24:09 24 4
gpt4 key购买 nike

我正在尝试显示属于垂直类别的文章,但是当我在类别显示页面上单击文章时,我得到了nil:NilClass错误的未定义方法'category_id'...该怎么办?有人帮我enter image description here

最佳答案

当object为nil且如果您尝试访问nil对象的值时,该时间将引发undefined_method错误。

@article对象为nil,这就是为什么它引发错误的原因。

@article = Article.find_by(slug: params[:id])
@category = Category.find_by_id(@article.category_id) if @article

您在资源路由上使用slug而不是id
/articles/:slug

代替
/articles/:id

改变你的路线
# config/routes.rb
resources :articles, param: :slug

在终端检查您的路线是否正确
 $ rails routes | grep article
...
article GET /articles/:id(.:format) articles#show

而不是id应该塞
$ rails routes | grep article
...
article GET /articles/:slug(.:format) articles#show

关于ruby-on-rails - 什么是ArticlesController#show中的NoMethodError?什么是nil :NilClass?的未定义方法 `category_id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47120252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com