数据库记录删除 User.find_by_id().address.destroy

问题描述 投票:0回答:1

我正在尝试从此处删除地址结果。 我可以通过这样做添加新地址,但无法删除它

 $User.find_by_id(19).update(address: "canada")

我试过了,但没用

 $User.find_by_id(19).destroy(address: "canada")

输出

$User.find_by_id(19).destroy(address: "canada")
  User Load (1.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1 LIMIT 1  [["id", 19]]
Traceback (most recent call last):
       10: from bin/rails:4:in `<main>'
        9: from bin/rails:4:in `require'
        8: from /app/vendor/bundle/ruby/2.6.0/gems/railties-4.2.11.1/lib/rails/commands.rb:17:in `<top (required)>'
        7: from /app/vendor/bundle/ruby/2.6.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
        6: from /app/vendor/bundle/ruby/2.6.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:68:in `console'
        5: from /app/vendor/bundle/ruby/2.6.0/gems/railties-4.2.11.1/lib/rails/commands/console.rb:9:in `start'
        4: from /app/vendor/bundle/ruby/2.6.0/gems/railties-4.2.11.1/lib/rails/commands/console.rb:110:in `start'
        3: from (irb):2
        2: from (irb):2:in `rescue in irb_binding'
        1: from /app/vendor/bundle/ruby/2.6.0/gems/activerecord-4.2.11.1/lib/active_record/transactions.rb:280:in `destroy'
ArgumentError (wrong number of arguments (given 1, expected 0))
ruby-on-rails model-view-controller activerecord console
1个回答
0
投票

请删除 destroy 方法中的参数。这个方法不需要任何参数,只需要记录的id。

© www.soinside.com 2019 - 2024. All rights reserved.