gpt4 book ai didi

ruby-on-rails - 拯救 "undefined method ' xyz' 为 nil :nilClass"errors

转载 作者:数据小太阳 更新时间:2023-10-29 08:23:59 25 4
gpt4 key购买 nike

我有以下表演 Action :

def show
@name = params[:id]
rescue ActiveRecord::RecordNotFound
redirect_to :action => 'index'
@rpm = FedoraRpm.find_by_name(@name, :include => :rpm_comments)
@page_title = @rpm.name
end

即使我在那里添加了救援语句,它似乎也不起作用,当我尝试查看不存在的 URL 时出现此错误:

nil:NilClass 的未定义方法“名称”

我知道这可能与 @page_title 变量有关,但我该如何解决这个问题?

最佳答案

@rpm = FedoraRpm.find_by_name(@name, :include => :rpm_comments)

如果无法找到结果,则返回 nil。这可能是你的情况。然后,您尝试在 nil 对象上调用 name

如果您希望查询返回 nil 值,请确保相应地更改您的代码。

救援声明在那里没有任何意义。如果你想在使用时丢失记录的情况下重定向

def show
@name = params[:id]
@rpm = FedoraRpm.find_by_name!(@name, :include => :rpm_comments)
@page_title = @rpm.name
rescue ActiveRecord::RecordNotFound
redirect_to :action => 'index'
end

请注意,我使用的是 finder 的 bang 版本。

@rpm = FedoraRpm.find_by_name!(@name, :include => :rpm_comments)

关于ruby-on-rails - 拯救 "undefined method ' xyz' 为 nil :nilClass"errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972056/

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