gpt4 book ai didi

javascript - Rails 模型验证挂起 PUT 请求

转载 作者:行者123 更新时间:2023-12-02 18:50:33 24 4
gpt4 key购买 nike

我在 User.rb 模型中有这个,以便在保存之前正确格式化用户的子域:

def subdomain=(c)
write_attribute(:subdomain, c.tr('^A-Za-z0-9', '').downcase)
end

但是当我向 API 发出客户端( Backbone )PUT 请求时,更新不包含子域的属性...

Request Payload: { bg_hue: "359", id: 4 }

..上述自定义模型验证导致 500 响应,并指定以下错误:

NoMethodError at /user/4=================================> undefined method `tr' for nil:NilClass

意思是,它卡在模型中的 c.tr 线上

我想我可以先检查请求是否在 Controller 中包含子域,然后尝试在有或没有子域的情况下保存它,我认为这应该可以解决上述问题,但话又说回来,我不完全确定什么问题是。

有什么建议吗?

最佳答案

错误消息告诉您nil:NilClass未定义方法“tr”。问题是传入的值 cnil。你可能应该这样做:

def subdomain=(c)
write_attribute(:subdomain, c.tr('^A-Za-z0-9', '').downcase) unless c.nil?
end

关于javascript - Rails 模型验证挂起 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15867341/

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