Need help with fullcalendar-rails?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

459 Stars 155 Forks MIT License 97 Commits 11 Opened issues


an asset gem containing Adam Shaw's excellent fullcalendar jquery plugin

Services available


Need anything else?

Contributors list


This gem for Ruby on Rails adds the content of the jQuery FullCalendar plugin from Adam Shaw (found here within your RoR application such that you do not have to download and install all the FullCalendar assets yourself.


In order to install the fullcalendar-rails gem and get FullCalendar working within your application, do the following steps:

  1. Add to

    gem 'fullcalendar-rails'
    gem 'momentjs-rails'
  2. Bundle install and restart rails server.

  3. Add to

    ```jquery //= require moment //= require fullcalendar //= require fullcalendar/locale-all

    $('#calendar').fullCalendar({}); ``

    The line
    //= require fullcalendar/locale-all` is just necessary if you need the calendar in another language than english.
  4. Add to

    *= require fullcalendar
  5. In view, include the following html:

    Now if you go to that view you should see the FullCalendar.
  6. Reference the Using FullCalendar section for details on populating FullCalendar.

Installing Google Calendar support

FullCalendar comes with Google calendar support, which can be implemented within your application with the following step:

  • Using
    gem fullcalendar-rails >= 2.1.1
    , add
    //= require fullcalendar/gcal
  • Using
    gem fullcalendar-rails < 2.1.1
    , add
    //= require gcal

Installing a specific version:

If you want a specific version of FullCalendar, use the following line in your Gemfile:

gem 'fullcalendar-rails', '~> X.Y.Z.0'

where X.Y.Z is the specific version of FullCalendar you wish to install (Note: the last number "0" in the line above indicates the version of the fullcalendar-rails gem and may be something other than "0", but will still provide the FullCalendar version specified by X.Y.Z).

Install for fullcalendar-print

After following the above instalations steps, you may choose to use the

file within your application to better customize the appearance of FullCalendar. To do so, follow these steps:
  • Option 1: Add to

    *= require fullcalendar.print
    Note: This method causes issues with changing the color of events within FullCalendar, pointed out in issue #11.
  • Option 2:

    1. Create
    2. Add to
      @import 'fullcalendar.print';
  1. Add to

    config.assets.precompile += ['application-print.css']
  2. Add to

     "print" %>

Using FullCalendar

A quite aged step by step tutorial for creating events for FullCalendar in rails may be followed here: The instructions in the documentation doesn't work as expected at one point:

    events: '/events.json'

Does not work. Instead, wrapping the events parameter in an object like this does:

    events: '/events.json'

Thanks @sgelliott for pointing this out in issue #71!

Newer step-by-step instructions needed! If you have newer explanations or want to write one, please open a pull request or an issue.

And general documentation for FullCalendar may be found here:

Usage together with TurboLinks (version 5)

Using turbolinks requires special care for loading and unloading FullCalendar. You have to load your calendars in a good manner, with Turbolinks 5 you need to remove Fullcalendar from a before_cache tag.


function eventCalendar() {
  return $('#event_calendar').fullCalendar({ ***your FullCalendar config***});
function clearCalendar() {
  $('#event_calendar').fullCalendar('delete'); // In case delete doesn't work.
$(document).on('turbolinks:load', eventCalendar);
$(document).on('turbolinks:before-cache', clearCalendar)
Link to Turbolinks regarding idempotent scripts:

Thanks @davidwessman for hinting this in issue #78!


I hate finding random versions of javscript and css out on the web and then just downloading, or copy/pasting into files in my asset pipeline... I like some kind of accountability as to the source of the files, and I especially like it when bundle can tell me when those versioned assets are out of date. Therefore, I tend to take the few extra minutes to package these things up as versioned gems.

As such, these are primarily for my own use, and may occasionally fall out of date as the project I created them for goes in and out of maintenance cycles. If thats the case, I will gladly accept pullup requests, or even be willing to talk to someone who wants to take over ownership for the repo and the gem on rubygems. As with all open source, I hope you find this useful, but if you don't, your right to complain starts with a pullup request.


I am going to version this gem with the version of the FullCalendar code I use, adding an extra digit if I need to release any maintenance versions of the gem itself.


  1. Fork it
  2. Create your feature branch (
    git checkout -b my-new-feature
  3. Commit your changes (
    git commit -am 'Added some feature'
  4. Push to the branch (
    git push origin my-new-feature
  5. Create new Pull Request

If the original library I'm basing this off of has tests, I'd like to integrate that into the gem as well; but if it doesn't, its not the end of the world... as this is just a 'shrinkwrap' of someone else's work, I don't take on any testing responsibility within the scope of packaging.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.