我尝试在外部咖啡中使用params [:id]:
url: <%= params[:id] %> + "/events/" + event._id
但我有一个错误:
SyntaxError: [stdin]:145:22: unexpected newline
我的文件名为clubs.js.coffee.erb 我将我的代码从js翻译成来自网站js2coffee.com的咖啡,所以可能有一些错误。
$(document).ready ->
# Fonction d'envoi d'une requête de mise à jour d'un évènement
update_function = (event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view) ->
$.ajax
url: <% @club_id %> + "/events/" + event._id # prb d'url à modifier
dataType: "json"
type: "PUT"
data:
event: # re-use event's data
title: event.title
start: event.start
end: event.end
allDay: event.allDay
club_id: 1
return
#fin update_function
# Gestion du dialogue modal d'édition d'un évènement
edit_pop_up = (data) ->
$("#event-dlg").html(data).dialog
height: 400 # Taille du dialogue
width: 500
resizable: false # Pas de redimensionnement
title: "Informations" # Un titre
modal: true # Dialogue modal => interrompt les autres interractions
buttons: # Le bouton de validation
Enregistrer: ->
$("#event_form").submit() # Envoi les données du formulaire
$(this).dialog "close" # Ferme le dialogue
$("#calendar").fullCalendar "unselect" # efface le helper de sélection du créneau horaire
$("#calendar").fullCalendar "refetchEvents" # Réaffiche le calendrier
return
Supprimer: ->
if confirm("Etes vous certain de vouloir supprimer cet évènement?") # Demande de confirmation
$.ajax #Envoi de la requête de suppression
url: <% @club_id %> + "/events/" + selected_event._id # prb d'url à modifier
dataType: "json"
type: "DELETE"
$(this).dialog "close" # Ferme le dialogue
$("#calendar").fullCalendar "unselect" # efface le helper de sélection du créneau horaire
$("#calendar").fullCalendar "refetchEvents" # Réaffiche le calendrier
return
$(".ui-dialog-titlebar-close").html "X"
return
calendar = $("#calendar").fullCalendar(
# paramètres de base
# Parlons Français
monthNames: [
"Janvier"
"Février"
"Mars"
"Avril"
"Mai"
"Juin"
"Juillet"
"Août"
"Septembre"
"Octobre"
"Novembre"
"Décembre"
]
monthNamesShort: [
"janv."
"févr."
"mars"
"avr."
"mai"
"juin"
"juil."
"août"
"sept."
"oct."
"nov."
"déc."
]
dayNames: [
"Dimanche"
"Lundi"
"Mardi"
"Mercredi"
"Jeudi"
"Vendredi"
"Samedi"
]
dayNamesShort: [
"Dim"
"Lun"
"Mar"
"Mer"
"Jeu"
"Ven"
"Sam"
]
titleFormat:
month: "MMMM yyyy"
week: "d[ MMMM][ yyyy]{ - d MMMM yyyy}"
day: "dddd dd MMM yyyy"
columnFormat:
month: "ddd"
week: "ddd dd/M"
day: "dddd dd/M"
axisFormat: "HH:mm"
timeFormat:
"": "HH:mm"
agenda: "HH:mm{ - HH:mm}"
allDayText: "Journée entière"
buttonText:
today: "aujourd'hui"
day: "jour"
week: "semaine"
month: "mois"
firstDay: 1 #premier jour de la semaine => Lundi
defaultView: "agendaWeek" # par défaut on affiche un agenda semaine
header: # Mise en forme de l entete
left: "prevYear,prev,next,nextYear,today" # à gauche: les boutons de navigation
center: "title" # au milieu: le titre
right: "month,agendaWeek,agendaDay" # à droite: les boutons de type de vue
editable: true #permettre de modifier les évenements déjà créés
selectable: true #permettre de sélectionner des évenements
events: (<% @club_id %> + "/events.json") # source de données
#callbacks
selectHelper: true
select: (start, end, allDay) -> #création évenement
title = prompt("Titre:")
if title
$.post (<% @club_id %> + "/events.json"), # your url
event:
title: title
start: start
end: end
allDay: allDay
club_id: <% @club_id %>
editable: true
calendar.fullCalendar "unselect"
calendar.fullCalendar "refetchEvents"
return
#Déplacement d'un evenement par glisser/déposer
eventDrop: update_function
#Redimensionnement d'un evenement
eventResize: update_function
# Gestion double click
eventRender: (event, element) ->
element.bind "dblclick", ->
$.ajax
url: <% @club_id %> + "/events/" + event._id + "/edit.js" # prb d'url à modifier
dataType: "html" # récupère le code html du formulaire
type: "GET"
success: edit_pop_up # ouverture du dialogue modal
error: (xhRequest, ErrorText, thrownError) ->
alert "Error... " + ErrorText + " " + thrownError
return
return
return
)
return
#End FullCalendar