1

(テーブル ハッシュタグ列タグ) タグが存在する場合、ビュー カウントを 1 ずつ更新するメソッドを実行しようとしています。

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'
4

2 に答える 2

0

検索が失敗し (レコードがないため)、作成が失敗した場合 (検証が失敗したため)、関数は nil を返します。

于 2012-12-14T01:19:44.350 に答える
0

それを解決するために変更するfind_or_initialize_by_tag- stephenmurdoch

于 2012-12-14T04:29:55.453 に答える