The very words 'copy attributes' should send shivers down your spine as a Rails developer. It really sounds like what you've got is a third object that is related to packages and receipts -- user/person/ addressee or something of that sort. I'd think something like:
class User < ActiveRecord::Base has_many :packages has_many :receipts ... end (the class above carries the data you want to copy -- name fields, etc)
class AddPackage < ActiveRecord::Base belongs_to :user .. end
class Receipt < ActiveRecord::Base belongs_to :user ... end
Your User class could have a method that "transfers" the item from "Inventory" (I don't see any class relationship for that) to Receipts:
def signed_for(add_package) self.receipts.create(:add_package_id => add_package.id, :picked_up_at => Time.now) # some code to remove add_package from inventory end
Note: It's MUCH better to put this type of business logic in the model and not the controller.
HTH, Andy