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?}