# Replacing Turbolinks with Turbo - not as easy as it could be?

**URL:** https://discuss.hotwired.dev/t/replacing-turbolinks-with-turbo-not-as-easy-as-it-could-be/3976
**Category:** General
**Created:** [March 29, 2022, 4:28pm UTC](https://discuss.hotwired.dev/t/replacing-turbolinks-with-turbo-not-as-easy-as-it-could-be/3976 "2022-03-29T16:28:28Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![defsdoor](https://yyz1.discourse-cdn.com/flex027/user_avatar/discuss.hotwired.dev/defsdoor/32/2135_2.png) [@defsdoor](https://discuss.hotwired.dev/u/defsdoor)
#### Post date: [March 29, 2022, 4:28pm UTC](https://discuss.hotwired.dev/t/replacing-turbolinks-with-turbo-not-as-easy-as-it-could-be/3976/1 "2022-03-29T16:28:28Z")

</div>

Hi

There’s a lot of old and out of date information out there about replacing Turbolinks with Turbo and I am struggling to make it as easy as it should be.

A turbolinks app submits forms and responds to redirects as it always has. Drop in Turbo instead - no frames in sight - and form submissions no longer work as before.

Form submissions response is silently discarded and when redirecting on success - Turbo follows the 302 response but does nothing with the subsequent body because its not a turbo frame.

I know that you can stop this by adding data: {turbo: false} to the form but this requires updating every form in an application and prevents the content only interception resulting in full assets fetch.

Am I missing something or is this the expected solution to upgrading to Turbo ? Should this behaviour only occur if the form is inside a turbo-frame ?

---

<div class="post-metadata">

### Author: ![defsdoor](https://yyz1.discourse-cdn.com/flex027/user_avatar/discuss.hotwired.dev/defsdoor/32/2135_2.png) [@defsdoor](https://discuss.hotwired.dev/u/defsdoor)
#### Post date: [March 30, 2022, 8:06am UTC](https://discuss.hotwired.dev/t/replacing-turbolinks-with-turbo-not-as-easy-as-it-could-be/3976/2 "2022-03-30T08:06:44Z")

</div>

I found one of the causes of my difficulties -

The application I am upgrading uses haml views and none of them have the format in the file name,  
i.e. they are all named like this -

`index.haml`

This results in non-turbostream renders not being able to determine the format and serving the content as -

`Content-Type: text/vnd.turbo-stream.html; charset=utf-8`

Which Turbo isn’t expecting for a non-turbo wrapped request so it just does nothing with it.

Naming the views -

`index.html.haml`

and the content is served with -

`Content-Type: text/html; charset=utf-8`  
and everything works as advertised.
