I'm running jQuery in app/assets/javascripts/ticket.js.coffee for a specific view. Every time I visit the page the browser renders this error - there is no mention of this error anywhere online.
(localhost:3000/Tickets/new):
SyntaxError: unexpected POST_IF
Extracted source (around line #6):
3: <head>
4: <title>Ops2</title>
5: <%= stylesheet_link_tag "application", :media => "all" %>
6: <%= javascript_include_tag "application" %>
7: <%= csrf_meta_tags %>
8: </head>
9: <body>
File of the page throwing the error -
app/views/tickets/_form.html.erb:
<%= form_for(@ticket) do |f| %>
<% if @ticket.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@ticket.errors.count, "error") %> prohibited this ticket from being saved:</h2>
<ul>
<% @ticket.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :school_id %><br />
<%= f.collection_select :school_id, School.order(:name), :id, :name, include_blank: true%>
</div>
<div class="field">
<%= f.label :location_id %><br />
<%= f.grouped_collection_select :location_id, School.order(:name), :locations, :name, :id, :name, include_blank: true%>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
app/assets/javascripts/application.js contains:
//= require jquery
//= require jquery_ujs
//= require_tree .
Coffeescript file with jQuery -
app/assets/javascripts/tickets.js.coffee:
$ ->
$('#ticket_location_id').parent().hide()
locations = $('#ticket_location_id').html()
$('#ticket_school_id').change ->
school = $('#ticket_school_id :selected').text()
options = $(locations).filter("optgroup[label='#{school}']").html()
if options
$('#ticket_location_id').html(options)
$('#ticket_location_id').parent().show()
else
$('#ticket_location_id').empty
$('#ticket_location_id').parent().hide()
The POST_IF error has been resolved by indenting the if / else statements in my coffee script! (see answer below for details) There are no errors and the page loads!
ifandelsestatement in the jQuery, the page loads but the jQuery still doesn't run.require_treeis fine, and you should keep using it. Your error is completely unrelated to your use ofrequire_tree.