Ruby on rails 如何(从另一个)更新表?

Ruby on rails 如何(从另一个)更新表?,ruby-on-rails,Ruby On Rails,还有一个问题: 我有两个数据库:我的和不是我的(称之为“hammas”)。因此,在我的hammas中,我有一个名为managers的表,其中包含email和org\u unit\u id字段。在my数据库中,我使用email和unit\u id字段调用用户 一切都清楚了?我很高兴。所以,下一步 我有以下代码: user_emails = User.find(:all).collect {|r| r.email } hammas_managers.each do

还有一个问题: 我有两个数据库:
我的
不是我的
(称之为
“hammas”
)。因此,在我的
hammas
中,我有一个名为managers的表,其中包含
email
org\u unit\u id
字段。在
my
数据库中,我使用
email
unit\u id
字段调用用户

一切都清楚了?我很高兴。所以,下一步

我有以下代码:

user_emails             = User.find(:all).collect {|r| r.email }

    hammas_managers.each do |email, org_unit_id|
      if !user_emails.include?(email)
        User.create(:email => email, :user_group_id => organisational_unit_id)
      end
    end
因此,我从哈马那里收到电子邮件和组织单位id,并粘贴到我的表格中

每个人的作品。好极了

但我需要:如果在
“hammas”
中某个管理员删除了(意外地或特别地)行,那么我的数据库仍将保留这一行(我必须手动删除它)。如何自动生成支票: 如果行被删除

blah blah blah code
User.destroy(:id => ... ) or how?
谢谢大家!

将此添加到用户

has_one :hammas_manager, :foreign_key => :email, :local_key => :email, dependant => destroy
这是给哈马苏经理的

belongs_to :user, :foreign_key => :email, :local_key => :email, dependant => destroy
现在,当您的应用程序删除hammas_管理器时,应该会自动删除用户

在您可能希望“清理”以前孤立的用户(即no h.m)的情况下,您可以在console中运行此操作(定义了上述关系):


这是未经测试的,因此不要在生产数据上运行它。

您的意思是-如果在创建相应的用户后删除了hammas_管理器,我如何删除该用户?是的,如果在hammas_管理器中删除了该用户,我如何删除数据库中的用户?是否会有一些用户不是来自hammas_管理器?中午!所有用户都来自hammas_经理!非常感谢你!!我将对此进行测试。我无法在控制台中使用此wrtie=>User.all.each{u|u.destroy if u.hammas_manager.blank?}…某些错误u.destroy:command not found和此错误:未知密钥:本地密钥(ArgumentError)
User.all.each{|u| u.destroy if u.hammas_manager.blank?}