Validation failture

Say controller x, action a has a form on it that submits to controller y, action b, and validation fails during the submit. I want to display the result of controller x, action a with the validation messages.

In psuedocode, I am here:


controller y

action b
if !item.save
# Do something here
end
end

I’m having trouble with the do somethign here section. I tried “render :template ‘x/A’” but that didn’t load all the required information. What is the best practice for cross controller validation failures?

Thanks
Jim Englert.

Each case you will have one approach that better resolve your needs.

Firstly, you should avoid this kind of situation, off course this is not possible always but if you do RESTFul apps this kind of situation is not so usual.

Well, going direct to your problem, you should load all dependencies on second controller, and yes, this lead you to an not DRY environment.

First, you should not have many variables being assigned per action, this is a bad practice, anyway, you can have a module to encapsulate filters included in both controllers… this can sound not practical, but in truth this avoid you to forget to alter the behavior in one side without affect the other…

I want that this tip was helpful :wink:

Thats pretty much what I have. Problem is, I still need code in the controller I am submitting to that looks like this:

if !item.save

Handle save validation failure

end

Are you saying that I should not need code like that in my submit controller? If so, is there anything special that needs to occur for this to work?

Thanks,