【问题标题】:Copy one table record to another in rails在rails中将一个表记录复制到另一个
【发布时间】:2013-09-13 12:46:06
【问题描述】:

我有一个 User 模型和 users 表。一个用户可以有很多电话号码,所以我有一个名为Phone 的单独模型。 我为此使用了这个关联:

型号

User
     attr_accessible :id, :name, :screenname,:fullname,:phones_attributes
     has_many :phones,:dependent => :destroy

Phone
     attr_accessible :phone
     belongs to :users

上面的代码工作正常。 管理员也想将任何用户的记录复制到 user_tempphone_temp 表中(我有名为 UserTempPhoneTemp 的单独模型)。

我该怎么做?

【问题讨论】:

  • 你有user_temp和phone-temp的另一个模型
  • 是的,正如我上面提到的。
  • 是的,以下两种解决方案都适合您:)

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-3.1


【解决方案1】:

最简单的方法是:

phone_item = Phone.find(x)   # Get the phone item you want to copy
                             # you may have obtained this some other way

PhoneTemp.create(phone_item.attributes) if phone_item

对用户也是如此。

【讨论】:

  • 我知道这已经过时了,但是您正在同时进行创建和保存。您的意思可能是.new(...).save 或只是.create(...)
【解决方案2】:

如果你有单独的 temp_user 模型,那么你可以这样做

@user = User.find(params[:id]) # find original object
@temp_user = TempUser.create(@user.attributes)  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    相关资源
    最近更新 更多