https://github.com/bernat/best_in_place
Ddemo here http://bipapp.heroku.com/users/49
Then to update a page name you would need:
<%= best_in_place @page, :name, :type => :input %>
p.s. The demo looks not so fancy, but there are a many options that this gem provide to customize css classes.