0

ターミナルで:

2.2.0 :001 > sr=ServiceRequest.only_deleted.where(:id=>57)

=> #<ActiveRecord::Relation [#<ServiceRequest id: 57, sr_number: "SRN57", email: "xxx@gmail.com", phone: "54545121", subject: "change of address", body: "sdssssssssssssss", status_id: 1, request_type_id: 1, customer_id: nil, created_at: "2015-04-24 13:06:52", updated_at: "2015-04-28 05:13:05", deleted_at: "2015-04-28 05:13:05">]> 2.2.0 :004 > sr.destroy

ArgumentError: wrong number of arguments (0 for 1) アプリケーションで gemを使用paranoiaしています。データベースからこのレコードを破棄したいのですが、このレコードを破棄するにはどうすればよいですか。助けてください。

4

1 に答える 1

1

あなたは単数形を見つけたいですServiceRequest。したがって、代わりにwhere、次を使用しますfind

sr = ServiceRequest.only_deleted.find(57)

またはfind_by、レコードが見つからない場合にエラーを発生させたくない場合:

sr = ServiceRequest.only_deleted.find_by(id: 57)

次に、それを呼び出すことができますdestroy

sr.destroy

しかし、オブジェクトはすでに「破棄済み」としてマークされているため、実際に DB からオブジェクトを破棄する必要があるようです。

sr.really_destroy!
于 2015-04-28T08:57:03.740 に答える