How to get value from view?

Hello all,

I have following problem,

I have a view called "new_sub_type.html.haml" and controller "SubscriptionTypes". In this view i'm showing a dropdown list of subscription types.

When user submit form, I show another view "new_credit_card.html.haml" which is in controller "CreditCards". This form is submitted to "SubscriptionTypes" controller.

Then i validate credit card information in "SubscriptionTypes" controller.

if credit card info is not valid then i redirect to again credit cards "new.html".

When user select value "subscription type" from first form, I want to use that "subscription type" value in "SubscriptionTypes" controller.

I don't know how to get that value? i used "session".then I get value of "subscription type", but if credit card info is not valid I get nil value when redirected to "new_credit_card.html.haml"?

Is there another way?

Thanks, Vikas.

Redirecting will lose state.

I think instead of redirecting you want to render the new template, normally this is done within the same controller but if you really have to render a view from a different controller then

  render :action => 'new', :controller => :credit_cards

should do the trick, assuming you set up the controller instance variables which the view (and any partials) expects.

but really your description sounds a bit complex, I'd look at trying to get away from jumping between controllers.

It seems like the two controllers could be combined. Validating the card and choosing a subscription type would be part of the same order, so you could add the subscription types to the credit card controller as an instance variable.