:id vs. a_id:

I have a controller a_bs_controller that usually has to find A by a_id:. So, among others, it has these methods:

def update   this_a   . . . end . . .

def this_a   @a = A.find(params[:a_id]) end

My difficulty arises in that sometimes this controller is passed :a_id in a nested hash as [:a]{:id], with or without :a_id in another portion of a nested hash. .

params => { :controller => :a_bs, . . . , :a => { :id => 'x'}, :c => 'value', :b => { a_id => 'x', :description => 'value' }}

What I would really like to do is to discover some method of setting params[:a_id] in the views that return it as a nested hash otherwise. Failing that I need to extract the :id of :a from whatever params I am handed. I should never receive :a_id simply as :id in a simple hash as is the usual case for as_controller.

I tried to solve this in the view by modifying the params hash both directly and through a hidden field. In both cases the result was nested inside of a hash named :b. I have also played with constructing a method to walk down the hashes to find :a_id, however, I have put that aside for now to see if my problem is really my approach to the solution.