gpt4 book ai didi

ruby-on-rails - Rails 如果存在则更新,否则使用 find_or_create_by 创建

转载 作者:行者123 更新时间:2023-11-29 14:01:34 26 4
gpt4 key购买 nike

我正在尝试运行一种方法,如果存在(表 Hashtag 列标签)标记,它会将 View 计数更新为 1。否则它将创建一个新行,默认 View 计数为 0 并且标记为 @hashtag scrubbed .

Hashlog.rb

def self.create_hashlog(hashtag)        #enters hashtag into the log table, without #. 
@hashtag_scrubbed = hashtag
# Hashlog.find_or_create_by_tag(@hashtag_scrubbed)

taglog = Hashlog.find_or_create_by_tag(@hashtag_scrubbed) do |t|
t.count = 0
end
taglog.count += 1
taglog.save!
end

错误

Completed 500 Internal Server Error in 772ms

NoMethodError (undefined method `+' for nil:NilClass):
app/models/hashlog.rb:24:in `create_hashlog'
app/controllers/hashtags_controller.rb:32:in `create'

最佳答案

如果您的查找失败(因为没有记录)并且您的创建失败(因为验证失败),该函数返回 nil。

关于ruby-on-rails - Rails 如果存在则更新,否则使用 find_or_create_by 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13870750/

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