gpt4 book ai didi

javascript - fullcalendar-rails 通过 javascript 传输用户 id

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:59 25 4
gpt4 key购买 nike

我有一个问题,我正在使用 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

最佳答案

我想通了。

添加一个名为“Gon”的 gem 。

在您的用户 Controller 中,添加一个变量来获取 URL,例如:

@users_path = "users/#{current_user}/events.json"

您可以将 current_user 更改为 user.id

然后,添加以下内容:

gon.user_path = @users_path

在您的 FullCalendar JavaScript 中。执行以下操作:

$(document).on('turbolinks:load', function() {
var user_path = gon.user_path;

$('#calendar').fullCalendar({
events: user_path,
});
});

就是这样。它会按照您的意愿呈现。

关于javascript - fullcalendar-rails 通过 javascript 传输用户 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27359692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com