0

私の fullcalendar ページには、次のような (デフォルトの) イベント ソース領域があります。

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

というタイトルのモデル (およびビュー) フォルダーがあります"rentalcars"。そのモデルからイベントを自動的に取得するにはどうすればよいですか? このモデルには開始日と終了日があります。

私は試した:

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

これは確かに機能しません。私はarshawのソースを見て、静的イベントを作成する方法を知ることができますが、動的なもの、つまり既存のモデルを反復するものを探しています。

助言がありますか?

4

1 に答える 1

1

URLパラメーターは、FullCalendarが理解し、解析できるものを返す必要があるため、ドキュメント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.rbindex定義では、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
于 2013-08-13T20:17:07.343 に答える