2013-08-13 6 views
0

В моей странице fullcalendar, у меня есть область источников событий (по умолчанию), который выглядит, как например:Как добавить источники событий

eventSources: [{ 
    url: '/events/index/', 
    color: 'yellow', 
    textColor: 'black', 
    ignoreTimezone: false 
}], 

У меня есть модель (и вид) папка с названием "rentalcars". Как я могу автоматически вывести события из этой модели? Эта модель имеет даты начала и окончания.

Я пробовал:

eventSources: [{ 
    url: '/rentalcars/index/', 
    color: 'yellow', 
    textColor: 'black', 
    ignoreTimezone: false 
}], 

, который, конечно, не работает. Я посмотрел на источник Аршоу, и я могу сказать, как делать статические события, но я ищу динамические: те, которые будут проходить через существующие модели.

Любые предложения?

ответ

1

Ваш параметр URL должен возвращать независимо от FullCalendar понимает и может разобрать, так что, судя по documentation вы должны убедиться, что ваш rentelcars индекс действие возвращает этот конкретный формат:

{ 
     title : 'event1', 
     start : '2010-01-01' 
    }, 
    { 
     title : 'event2', 
     start : '2010-01-05', 
     end : '2010-01-07' 
    }, 
    { 
     title : 'event3', 
     start : '2010-01-09 12:30:00', 
     allDay : false // will make the time show 
    } 
} 

Так что в вашей rentalcars_controller.rb в определении index вам нужно будет убедиться, что вы вернете этот формат, который мне очень похож на JSON. Таким образом, самый простой способ будет иметь это в качестве JavaScript:

eventSources: [{ 
    url: '/rentalcars.json', 
    color: 'yellow', 
    textColor: 'black', 
    ignoreTimezone: false 
}], 

И тогда в вашем контроллере вы будете иметь что-то вроде этого:

def index 
    rentalcar_dates = RentelcarDates.all # assuming this is an object that holds start, end date and maybe the car name 

    respond_to do |format| 
     format.html 
     format.json { render :json => rentalcar_dates } 
    end 
end 
+0

В настоящее время rentalcars обладают многими свойствами, и даты начала и окончания всего лишь два из них. Нужно ли мне создавать другую таблицу, которая называется «RentalCarDates», с именами столбцов, которые точно соответствуют «title, start, end ..»? Или я могу как-то взять два столбца? – kjbradley

+0

Да, вы можете просто взять любые столбцы, подобные «Rentelcar.all.map {| r | {: title => r.title,: start => r.start,: end => r.end}} ' –

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