在月视图中,我单击日期,然后视图变为日视图。当我单击新事件链接时,我希望开始日期是所选日期的日期,而不是默认的今天日期。
如果今天是 2013 年 3 月 12 日,并且我想在 2013 年 3 月 28 日创建一个事件,我将在月视图中单击 3 月 28 日的日期单元格。将出现 3 月 28 日的日视图。我将单击新事件,事件的开始时间将是 2013 年 3 月 12 日(显示当前日期),我需要手动选择 2013 年 3 月 28 日(或任何我想要的日期)。
我想出了硬编码的方法,但这在生产中是行不通的。有没有办法动态传递选定日期的开始日期,以便自动设置为选定月份的任何一天?
这是dayClick代码:
dayClick: (date, allDay, jsEvent, view) ->
if (allDay)
# clicked entire day
$('#calendar')
.fullCalendar('changeView', 'agendaDay')
.fullCalendar('gotoDate', date.getFullYear(), date.getMonth(), date.getDate())
我应该使用 select 方法吗?如果是这样怎么办?我不明白文档http://arshaw.com/fullcalendar/docs/selection/select_method/ http://arshaw.com/fullcalendar/docs/selection/select_callback/
在 events.js.coffee 中,我试图在以下位置动态创建一个新的事件链接:
$('#new-event').append("<a>custom link built thru js</a>").attr('href', 'events/new?starts_at=2013-03-28') <-- How to set starts_at by obtaining the date from day selected dynamically? Use calendar's select method to obtain the date parameters?
从dayClick中选择的日期的参数是如何传入的?或者我是否从 gotoDate 获取此信息?
事件控制器.rb:
# GET /events/new
# GET /events/new.json
def new
@event = Event.new
@event.starts_at = (params[:starts_at]) # sets the date
respond_to do |format|
format.html # new.html.erb
format.json { render :json => @event }
end
end
Event.rb 模型:
def as_json(options = {})
{
:id => self.id,
:title => self.title,
:description => self.description || "",
:start => starts_at,
:end => ends_at,
:allDay => self.all_day,
:recurring => false,
:url => Rails.application.routes.url_helpers.event_path(id),
:type_of => self.type_of
}
end
意见/日历/show.html.erb:
<%= link_to "new event", controller: "events",
action: "new",
starts_at: "28-03-2013" %> This will set the starts_at param manually via Rails. How do I obtain this dynamically? Using jQuery see code above in to create link that has the starts_at parameter (see code above).