2014-01-30 3 views
0

В настоящее время я использую Rails 4.0 и FullCalendar. Моя проблема: некоторые поля в моей базе данных по-разному совпадают с полями по умолчанию для FullCalendar. Например:Rails и 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)

ли

Я не совсем уверен, как я должен это сделать.

Большое спасибо!

ответ

0

Просто готовить правильную JSON (с jbuilder драгоценным камнем), как в демо http://arshaw.com/js/fullcalendar-1.6.4/demos/json-events.php
Затем его реализации, как это сделано в сценарии

$(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
Затем измените на ваших потребностях.
Желание это помогает

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 

И это, казалось, сделало трюк для меня!

Смежные вопросы