Q:

How to validate data from a controller in a model?

I have data in my controller that is being received from another rails app and database (this has to be in the controller) I want to get this data so I can validate it in my model before allowing another step in a wizard (see my other question for some code examples) 
My Problem is that I cannot directly grab this data from the controller in my model as this violates MVC. 
My Question is how would I go about checking the controllers data in my Model?

Do I have to load this data / true - false response in a view and then link this to my Model? (I don't really want this to show in the view and haven't quite worked out how to do this)
Do I need to pass this data to a route i.e example/data.json and then check this in my Model? (I also haven't worked out how to use this data.json from there in my model)

Any help / steering in the right direction would be very useful. (also i cannot use a gem to do this)

A:

At first, please be double double sure that you don't validate a model by data which it does not contain by itself. Model should validate its current state but not a way it came to this state (e.g. which user put a model to this state).
At second, you should never use controller methods in a model. If controller contains some business logic, extract that logic into a third class which will be used by both controller and model.
Moreover, you have a data in a controller and you have an access to the model, right?. Therefore, if you are in a controller method, for instance in a before filter or action, you could take that data and pass it to the model, like this:
def controller method
  hey_model.is_this_correct?(data)
end

If you say that that data must be checked after controller has responded to a request (for example, at the next wizard step, i.e. at the next request), then you definitely must store that value somewhere between requests.
This is the very point of stateless HTTP. No data is saved between requests until you explicitly do that. You could store your value in cookies or in database.

