Rails best practice on conditional parameters in a controller action
- by randombits
I have a controller create action looks for one or more parameters in the following ruleset. Let's say we have two parameters, foo and bar. The rules are the following:
1) if foo doesn't exist in the parameter list, bar must.
2) if bar doesn't exist in the parameter list, foo must.
3) they can both co-exist. they can't both be omitted (that's redundant with my rules above :) )
Can anyone show an example in Rails on how this is handled in the controller? Should I use a before_filter? Would appreciate some guidance as this isn't something that ActiveRecord validates.. so I'd need to build an error message to the user directly from controller logic, not model logic.
For bonus points, I output the error in XML, so if you can show how that's done, that'd be great. Hypothetically let's call the resource "Lorem", so it is created via http://foo/lorem.xml and we have lorem_controller.rb.