ruby-on-rails - 试图破坏模型,说出错误的参数数量(1 为 0)

标签 ruby-on-rails

我不确定为什么会收到此错误:

wrong number of arguments (0 for 1)

app/models/user.rb:38:in `sign_out_by_guid'
app/helpers/user_helper.rb:11:in `sign_out'
app/controllers/users_controller.rb:18:in `destroy'

我的代码:

def self.sign_out_by_guid(guid)
    puts 'currently in sign_out_by_guid' + guid
    u = User.where("guid = ?", guid) 
    puts u.inspect
    puts 'before destroy'
    u.destroy
    puts 'called destroy'
  end

我可以看到最后一个“称为销毁”的所有 puts 输出

所以这意味着对 u.destroy 的调用肯定是问题所在。

如果我尝试在 rails console 中获取记录,并对用户调用 destroy,它会正常工作。

这会是什么?

最佳答案

uUser 的集合,但是 destroy需要在单个用户或 relation with an argument denoting the ID 上调用用户。您可以:

u = User.where("guid = ?", guid).first

u = User.find_by_guid(guid)

关于ruby-on-rails - 试图破坏模型,说出错误的参数数量(1 为 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557312/

相关文章:

ruby-on-rails - rails : Using local variable for an image path

javascript - 将所有 JQuery 代码添加到 Rails 项目中的 application.js 对性能有何影响

ruby-on-rails - 我可以/应该如何处理 RoR 'datetime' "type"/"field"?

ruby-on-rails - 将我的 Wordpress 站点移动到子域

javascript - 为 Rails 生成的 XML API 构建 JavaScript 包装器?

ruby-on-rails - 优化方法

ruby-on-rails - 在 Heroku 应用程序的 AWS RDS 上使用 postgres DB 上的 Controller 时出现问题

ruby-on-rails - 如何在大 CSV 出错后重试 Postgres COPY

ruby-on-rails - 如何使用 Tire 指示父/子关系中对象的父对象

javascript - 如何将CKEditor默认值设置为空白?