【问题标题】:Taking a Value from a Database and storing it in Another database从数据库中获取值并将其存储在另一个数据库中
【发布时间】:2016-12-11 04:31:44
【问题描述】:

我有存储在我的用户数据库中的事件名称。我将如何从用户那里获取该事件名称并将其存储到 UserEvent 数据库中的 UserEvent 名称列中。例如,用户创建了一个名为 NewEvent 的事件,我如何将 NewEvent 设置为该 UserEvent 数据库中的 UserEvent 的名称?

【问题讨论】:

  • 为什么要把同一个东西存放在两个不同的地方?

标签: ruby-on-rails database logic


【解决方案1】:

我不会把同一个东西存放在两个不同的地方,如果是你数据库的需求,你可以delegate这个东西如下:

class UserEvent < ActiveRecord::Base
  delegate :name, to: :new_event
end

我强烈希望UserEvent 能以某种方式与事件相关。

如果你真的想在两个不同的地方存储相同的东西,我建议使用像after_createafter_save 这样的回调,这样每个NewEvent 对象都会被创建或修改,取它的名字,并存储在另一个模型中。

【讨论】:

  • 那么创建事件的用户,该事件将使用委托命令正确存储在 UserEvent 模型的数据库中?
  • 不,委托不是这样工作的。委托意味着如果您尝试在UserEvent 模型上调用name,它将从关联的NewEvent 模型中获取名称。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2017-05-09
  • 1970-01-01
相关资源
最近更新 更多