Hi I could solve it by modifying routes like
map.connect '/staff_registration/:code', :controller => :staff, :action => :registration_completion,:conditions => { :method => :put } map.staff_registration '/staff_registration/:code', :controller => 'staff', :action => 'registration'
And modified action registration_completion like def registration_completion @user = User.find_by_perishable_token!(params[:code]) @staff = @user.staff