ruby on rails - Re-routes using a method that should have nothing to do with it -
in view call upon controller method. seems call different method want do.
the view includes:
<%= link_to("upgrade account", upgrade_path) with routes:
'signup/organization' => 'organizations#new', as: 'register' 'signup/register' => 'organizations#new_premium', as: 'register_premium' post 'signup/register' => 'organizations#checkout', as: 'signup_checkout' post 'signup/register' => 'organizations#upgrade', as: 'upgrade' 'signup/confirmation' => 'organizations#confirmation' 'upgrade' not occur anywhere else in routes file.
the path in view should call upon following controller method:
def upgrade @organization = current_organization @actioncode = actioncode.new @amount = default_price @currency = "eur" @description = @organization.id @transaction_description = "mydescription" @transaction_type = "s" @hash = hash(@description, @amount, @currency, @transaction_type) render 'checkout' end this should render view (checkout.html.erb) has 2 forms. however, instead re-routes root message you're logged in. turns out message originates following controller method:
def new_premium if (logged_in_user?) flash[:danger] = "you're logged in" redirect_to root_url end @organization = organization.new @member = @organization.members.build end i don't see how method can come play , why code isn't working. have idea?
the controller contains def checkout don't see how might of effect. line render 'checkout' expect render checkout.html.erb , have no relationship either def checkout or def new_premium... right...?
look @ routes:
post 'signup/register' => 'organizations#checkout', as: 'signup_checkout' post 'signup/register' => 'organizations#upgrade', as: 'upgrade' the same url same verb used twice.
the rule in routing "first match first served", guess handled checkout.
fix simple, change url 1 of them.
Comments
Post a Comment