如何删除模型中的行

时间:2014-02-18 17:30:08

标签: ruby-on-rails-4

我有这段代码:

schools_users = SchoolsUsers.where(user_id: @user.id)
schools_users.each do |school_user|
    delete = true
    params[:school_id].each do |id|
        if school_user.school_id == id
            delete = false
        end
    end
    if delete
        school_user.destroy
    end
end

我有一个我直接查询的连接表。我想删除一行,具体取决于它们是否在params[:school_id]中。现在当我试图销毁那个特定的行时,我得到了这个错误。

  

Mysql2 ::错误:未知栏' schools_users。'在' where子句':   DELETE FROM schools_users WHERE schools_users。``= NULL

我现在很困惑。我认为模型对象是表中的一行。但似乎即使那些id是可访问的,它也不是真正映射到实际数据库中的一行。所以我的问题是如何在rails 4中正确地做到这一点?一旦查询集合似乎非常浪费,然后必须再次调用find(id)以专门获取该行。

0 个答案:

没有答案