Hello,

I have a weird problem that seems way over my skill level so could use
even some simple suggestions to point me in the right direction.
I have a set of 6 chained dropdown menus that work fine on my computer,
but do not retain the correct selections if I make the menu selections
too quickly on the Heroku server.

Each time a selection is made from a dropdown, the session data is
updated with the following jQuery/ Ajax:

    # If BOOK dropdown clicked on.
    chapters = $('#chapters').html()
    $('#books').change ->
      book = $('#books :selected').text()
      book_id = $('#books :selected').val()
      escaped_book = book.replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g,
'\\$1')
      options =
$(chapters).filter("optgroup[label='#{escaped_book}']").html()
      options = options.replace('selected="selected"', "")
      options = ('<option value="">Select a Chapter</option>' + options)
      $.ajax(
          url: '/dropdowns/update_image_book',
          data:  "image_book_id=" + book_id)
      if options
        $('#chapters').html(options)
        $('#chapters').prop('disabled', false)
        $('#sections').html('<option value="">Select a
Section</option>')
        $('#sections').prop('disabled', true)
        $('#subsections').html('<option value="">Select a
Subsection</option>')
        $('#subsections').prop('disabled', true)
        $('#minisections').html('<option value="">Select a
Topic</option>')
        $('#minisections').prop('disabled', true)
      else
        $('#chapters').empty()
Here is controller:

  def update_image_book
    session[:image_book_id] = params[:image_book_id]
    session[:image_chapter_id] = ""
    session[:image_section_id] = ""
    session[:image_subsection_id] = ""
    session[:image_minisection_id] = ""
    redirect_to pictures_path
  end

And the view:
<%= select_tag :books,
option_groups_from_collection_for_select(Subject.order(:title), :books,
:title, :id, :title, get_id_from_session(:book)), :prompt => "Select a
Book", :disabled => true %>

After looking at the heroku logs, it looks like if I make the selections
too quickly, the most recent selection runs before the line
2013-12-16T15:54:23.707522+00:00 heroku[router]: at=info method=GET
path=/dropdowns/update_image_book?image_book_id=3
host=cryptic-mesa-2105.herokuapp.com fwd="75.118.31.205" dyno=web.1
connect=13ms service=32ms status=302 bytes=113
has a chance to run.

Is this possible, and if so is there a better way to do this?

Dave.

-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/212adbdf94acd401e3f6172022c4a896%40ruby-forum.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to