You definitely shouldn't be changing models in the view.
Depending on what you're trying to do, you might be better off putting your attribute copying code in your model, along the lines of:
class ModelA < ActiveRecord::Base end
class ModelB < ActiveRecord::Base
def self.create_from_a(model_a) # Set this model's attributes from other model's attributes save end end
Then in your controller you can call:
class MyController < Application def my_action @my_a = ModelA.find(params[:id]) @my_b = ModelB.create_from_a(@my_a) end end
James.