将一个表记录复制到rails中

时间:2013-09-13 12:46:06

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

我有用户模型和用户表。用户可以拥有多个电话号码,因此我有一个名为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表中(我有单独的模型,名为 UserTemp PhoneTemp )。

我该怎么做?

2 个答案:

答案 0 :(得分:9)

最简单的方法是:

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

同样适用于用户。

答案 1 :(得分:1)

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

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