外部咖啡脚本中的Rails参数[:id]

时间:2014-08-07 14:26:39

标签: ruby-on-rails-4 coffeescript

我尝试在外部咖啡中使用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

0 个答案:

没有答案