create.js.erb
не является случайным, это представление для действия с ожидаемым форматом.
Как правило, у вас может не быть такого простого представления (у вас могут быть другие селекторы, отличные от "page", у вас может быть дополнительный js код, который будет выполнен после или до добавления), представление / скрипт js является общим решением для запроса ajax, чтобы дать ответу полный контроль над тем, что делать.
Вы можете иметь то, что хотите, но это будет работать только для вашего конкретного случая, когда селектор всегда «страница», и вы хотите добавить html только к этому элементу. Ничто не мешает вам сделать это (хотя вы, возможно, захотите использовать пользовательский запрос ajax, а не запрос rails, поскольку он задает формат js по умолчанию и выполняет скрипт ответа).
Соглашение состоит в том, что удаленный запрос rails создает скрипт js, вы можете выйти из соглашения, если хотите. Вы потеряете большую гибкость с вашим подходом как есть (например ... что если действие create завершится неудачно и вам нужно отобразить ошибки?).