Oi, Pedro, tudo bem?
Se você não quiser sair da página você pode usar a parte de Ajax e Javascript com Rails, você pode por exemplo ao clicar no botão mostrar um formulário (se tiver usando Bootstrap dá uma olhada em Modais) e aí nesse novo formulário você vai fazer algo como:
<%= form_for @category, url: category_path(@category), remote: true do |f| %>
<%= f.text_field :name %>
<%= f.submit 'Enviar' %>
<% end %>
No seu controller você faria algumas modificações para ele suportar essa requisição Ajax.
def create
@category = Category.new(params[:category])
respond_to do |format|
if @category.save
format.js { render 'alguma_pagina' }
else
format.js { render 'new' }
end
end
Então que dar recarregar sua coleção de categorias (ou na página mas perderia o que está preenchido).
Você pode fazer isso diretamente via Ajax também só comunicando com rotas do Rails pelo Javascript direto.
Ou uma alternativa mais simples seria você criar trocar de página e depois que voltar pra página anterior, também é uma boa opção.
Bons estudos!
Boa fonte de leitura:
http://edgeguides.rubyonrails.org/working_with_javascript_in_rails.html