The first is a technique known as unobtrusive javascript that allows you to cause
links to use JS / AJAX. You can read about the technique, specifically with regard
to links, in the Rails guide Working with JavaScript in Rails. Note, by default this will not update the URL in the address bar.
Turbolinks is a gem that is included by default with any new Rails 4 app. It works by intercepting all clicks to links inside your app and instead of allowing the browser to navigate to the new page, turbolinks makes an AJAX call to the server and then replaces the body. This gets you most of the way there with very little effort on your part, but does have a few edge cases you would need to watch out for.
The last option is to use a Javascript framework like Backbone, Ember, or Angular. These frameworks allow you to move much of your logic to the client side and allow for a much more interactive application, but they do introduce some additional complexity and code needed to bring your app to life.
Any of the above solutions would allow you to display new content via AJAX rather than navigating the page. That said, they all come with some drawbacks and I would very much recommend sticking to pure rails server side page rendering and traditional HTTP navigation for as long as possible, and only moving to JS tools like the ones listed above when your application truly needs it.