find_or_initialize_by doesn't work with 2 columns

后端 未结 3 1741
旧时难觅i
旧时难觅i 2021-02-19 22:35

I am trying to insert data in my database using ActiveRecord.

When I use pdays = MyModel.new for initialization rather then the below find_or_initiali

3条回答
  •  南笙
    南笙 (楼主)
    2021-02-19 23:28

    If you are using rails 3.2.1 and above, the new name of the method is first_or_initialize. It is used with conjunction with where. In your case, since you are calling save, you should use first_or_create but if you want to manually call save, just replace the method and call save after

    MyModel.where(local_date: vdays_traffic[:local_date], community_id: vdays_traffic[:community_id]).first_or_create do |record|
      record.uniquesters = vdays_traffic[:uniques]
    end
    

提交回复
热议问题