// sample template for rendering lab info %script{:id=>"lab_item_template", :type=>"text/x-handlebars-template"} %li.lab_info = radio_button_tag :selected_lab, "{{data/id}}", false, :id=>"selected_lab_{{data/id}}" .lab_image %img{:src=>"{{icon}}", :width=>'12px'}   %div .lab_name {{data/lab_name}} .address {{address_without_comma}}, {{titleize data/city}}, {{data/state}} .phone Tel: {{data/telephone}} .link // create your own /labs/select via :post method = form_for :lab, :url=>'/select', :method=>'post' do |f| %input{ :type=>:hidden, :name => 'id', :value=>"{{data/id}}" } %input{ :type=>:hidden, :name => 'lab_id', :value=>"{{data/lab_id}}" } %input{ :type=>:hidden, :name => 'lab_code', :value=>"{{data/code}}", :id=>'lab_code' } %input{ :type=>:hidden, :name => 'lab_info[name]', :value=>"{{data/lab_name}}" } %input{ :type=>:hidden, :name => 'lab_info[address]', :value=>"{{address_without_comma}}" } %input{ :type=>:hidden, :name => 'lab_info[city]', :value=>"{{titleize data/city}}" } %input{ :type=>:hidden, :name => 'lab_info[state]', :value=>"{{data/state}}" } %input{ :type=>:hidden, :name => 'lab_info[zip]', :value=>"{{data/zip}}" } %input{ :type=>:hidden, :name => 'lab_info[telephone]', :value=>"{{data/telephone}}" } = f.submit 'Select location', :class=>'select_location button' // map display #map_canvas_container #map_canvas{:style => "width:500px; height:350px"} // lab list display .. using ul/li style but you can change that #lab_list_container{ 'data-labs'=>@lab_data.to_json } %ul#lab_list = link_to 'View more locations', '#', :id => 'more_labs_list_toggler', :style => 'padding-left:50px;' // form for ajax lab searches ..the code to handle return data is in app/assets/medivo/labs/handle_ajax.coffee = form_tag(medivo.labs_path, :method=>:get, :id=>'lab_data_search', :remote=>true) do %div Enter a new Zip Code .error_message   = text_field_tag :zip_code, params[:zip_code] .lab_search_spinner_elem{:style=>'display:none'} %center %img{ :src => "/assets/medivo/ajax_waiting.gif", :height => "20", :width => "20"} %p = submit_tag "Search", :id=> :find_labs, :class=>'button' // sample template for rendering appointment info %script{:id=>"appointment_item_template", :type=>"text/x-handlebars-template"} %li.appointment_time %input{ :type=>'radio', :name=>"appointment_time", :value=>"{{data}}"} {{formattedDate}} // form for ajax appointment searches ..the code to handle return data is in app/assets/medivo/lab_appointments/handlers.coffee = form_tag(medivo.find_appointment_labs_path, :method=>:get, :id=>'appointment_data_search', :remote=>true) do %div Enter a Date .appointment_spinner_elem{:style=>'display:none'} %img{ :src => "/assets/medivo/ajax_waiting.gif", :height => "20", :width => "20"} .error_message   = text_field_tag :date, (Date.today+3.days).strftime("%m/%d/%Y") = hidden_field_tag :lab_code, '' # you have to fill this in dynamically with a lab_code %p = submit_tag "Search for appointments", :id=> :find_appointments, :class=>'button' // appointment list display #appointment_list_container %ul#appointment_list // if you want to allow the showing of more appointment times = link_to 'View more times', '#', :id => 'more_appointment_list_toggler', :style => 'display:none;padding-left:50px;' %button#schedule_appointment{:style => 'display: none'}Schedule Appointment