【发布时间】:2015-02-06 05:00:37
【问题描述】:
我有一个问题,我正在使用 fullcalendar-rails 构建日历,但我遇到了一个小问题。我正在使用 eventsources 函数(url 参数),因此日历知道在哪里检索要显示的事件。但是我的事件资源嵌套在我的用户资源下。因此,要访问事件,我需要遵循这条路线 -> 'users/:id/events'。所以我的问题是如何将这些必需的参数传输到 eventsources :url 函数?另外,我只想提一下我正在使用 json,因此日历可能能够显示事件。在我的 json 数组中,我有一个 url 参数,其中包含事件的 url 有没有办法让我传输那个 json.url ?
抱歉,我还没有显示我的任何代码,但我现在正在工作,我无法访问它。只要访问电脑,我就会重新编辑它并显示我的代码。它困扰了我这么久,所以我认为我只是先问一下。
提前致谢。
calendar.js.coffee
$(document).ready ->
$('#calendar').fullCalendar
editable: true,
header:
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
defaultView: 'month',
height: 500,
slotMinutes: 30,
eventSources: url: "/events.json" <----This is the part that where the calendar reads the events from but i need it to be 'users/:id/events.json'
timeFormat: 'H(:mm) ',
dragOpacity: "0.5",
displayEventEnd:
month: true,
basicWeek: true
eventDrop: (event, dayDelta, minuteDelta, allDay, revertFunc) ->
updateEvent(event);
eventResize: (event, dayDelta, minuteDelta, revertFunc) ->
updateEvent(event);
updateEvent = (the_event) ->
$.update "/events/" + the_event.id,
event:
title: the_event.title,
starts_at: "" + the_event.start,
ends_at: "" + the_event.end,
description: the_event.description
routes.rb
Rails.application.routes.draw do
get 'staticpages/welcome'
get 'staticpages/about'
get 'staticpages/contact'
get 'calendar/index'
root 'staticpages#welcome'
devise_for :users
resources :users, :only => [:show] do
member do
resources :events, :as => :user_events
end
end
index.json.jbuilber
json.array!(@events) do |event|
json.extract! event, :id, :title, :description
json.start event.starts_at
json.end event.ends_at
json.allday event.all_day
json.url event_url(event, format: :html)
end
【问题讨论】:
-
您想显示所有事件还是特定于 current_user 的事件?任何人都可以访问每个活动吗?
-
不,我只想显示当前登录用户的事件。
-
好的,你可以在你的url中使用current_user.id,对吧?
-
你可以试试
-
嘿,我现在已经添加了我的代码,正如您在 (calendar.js) 中看到的那样,我正在尝试将带有正确 :id 参数的 url 发送到 javascript 中。但是事件源采用的 url 是一个字符串。所以,我想知道是否可以将我的 json.url 从日历发送到 evenSources,因为它实际上包含带有正确 :id 参数的 url 字符串。如果不是,那么正确的做法是什么?谢谢。
标签: javascript ruby-on-rails ruby json fullcalendar