Rails和FullCalendar - 使用不同的列名查询数据库

时间:2014-01-30 05:36:10

标签: javascript ruby-on-rails fullcalendar

我目前正在使用Rails 4.0和FullCalendar。我的问题是:我的数据库中的某些字段与FullCalendar默认值中的字段不同。例如:

  My columns                         FullCalendar's Naming
================                   =========================
   all_day                                 allDay
   title                                   name
   start_time                              start
   end_time                                end

这是我的javascript(缩写):

 ...
 eventSources: [{
            url: '/calendar/index',
        }],
 ...

我的控制员:

def index
@events = Event.all
respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @events }
    end
end

我是否需要将查询更改为@events = Event.all(:all_day :as :allDay)

我不太确定我应该如何做到这一点。

非常感谢!

2 个答案:

答案 0 :(得分:0)

只需在演示http://arshaw.com/js/fullcalendar-1.6.4/demos/json-events.php中烹饪适当的json(使用jbuilder gem) 然后像在脚本中一样实现它

$(document).ready(function() {

        $('#calendar').fullCalendar({

            editable: true,

            events: "json-events.php",

            eventDrop: function(event, delta) {
                alert(event.title + ' was moved ' + delta + ' days\n' +
                    '(should probably update your database)');
            },

            loading: function(bool) {
                if (bool) $('#loading').show();
                else $('#loading').hide();
            }

        });

    });

在同一页http://arshaw.com/js/fullcalendar-1.6.4/demos/json.html上 然后根据您的需要进行编辑 希望它有所帮助

答案 1 :(得分:0)

所以,我最终使用了FullCalendar eventSources方法,例如,

eventSources: [{
        url: '/calendar/index'
    }], 

然后,在我的模型中,我只是在JSON中定义了输出:

class Event < ActiveRecord::Base    
     def as_json(options = {})
       {
       :id => self.id,
       :title => self.name,
       :location => self.location,
       :details => self.details,
       :start => start_time.rfc822,
       :end => end_time.rfc822,
       :event_creator => user.full_name
       }
     end
end

这似乎对我有用了!