1

Ruby アプリでhttp://arshaw.com/fullcalendarのJquery フル カレンダーを使用しています。type_of_event としてイベント テーブルに保存された (休日、学校、仕事、楽しみ) などの 4 つの異なる種類のイベントに対して異なる色を表示したい

現在、以下のコードを使用して、start_at と end_at のみでイベントを取得しています。

scope :before, lambda {|end_time| {:conditions => ["ends_at < ?", Event.format_date(end_time)] }}
  scope :after, lambda {|start_time| {:conditions => ["starts_at > ?", Event.format_date(start_time)] }}


  # need to override the json view to return what full_calendar is expecting.
  # http://arshaw.com/fullcalendar/docs/event_data/Event_Object/
  def as_json(options = {})
    {
      :id => self.id,
      :title => self.title,
      :description => self.description || "",
      :start => starts_at.rfc822,
      :end => ends_at.rfc822,
      :allDay => self.all_day,
      :recurring => false,
      :url => Rails.application.routes.url_helpers.event_path(id),
      #:color => "red"
    }

  end

  def self.format_date(date_time)
    Time.at(date_time.to_i).to_formatted_s(:db)
  end

event_type に応じてイベントの色を表示する特定の方法はありますか? イベントの種類が学校の場合、赤色が表示されます。

4

1 に答える 1

2

モデル以外の場所でこれらの色を使用する予定はありますか?

ほとんどの場合、グローバルに使用できるようにする必要はないため、モデルに定数を追加するだけです。

scope :before, ...
scope :after, ...

EVENT_COLORS = { "School" => "#ff0000", "Holidays" => "#00ff00", ... }
EVENT_COLORS.default = "#0000ff" #optional step, set default color for events

...
:url => Rails.application.routes.url_helpers.event_path(id),
:color => EVENT_COLORS[self.event_type]
于 2012-08-03T07:26:32.320 に答える