Help Please

Hello,

One of my friends paid a fair share of money for a website and the company that developed his site just left him and told him they would no longer host his site because he didn't want to pay $150/mo for hosting.

I have never worked with Ruby before, but manage to transfer his website to Hostgator (after a great deal of headache).

I have ArkansasLiveMusic.com up and running on hostgator and have fixed numerous issues (such as depricated commands, etc), but I am stuck with a problem.

If you go here: http://www.arkansaslivemusic.com/ and click on 'Purchase' on either of the two events, and then click "purchase" again in the middle screen, you will get the following error:

Application error Change this error message for exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code) in public/500.html

Can somebody PLEASE HELP!? I am willing to pay for getting this resolved if that is required, :-/. We need this site up and running by saturday, because the provider will be tearing down another one of his sites.

Mongrel.Log Reads:

** Daemonized, any open files are closed. Look at log/mongrel.pid and log/mongrel.log for info. ** Starting Mongrel listening at 0.0.0.0:12002 ** Starting Rails with production environment... ** Rails loaded. ** Loading any Rails specific GemPlugins ** Signals ready. TERM => stop. USR2 => restart. INT => stop (no restart). ** Rails signals registered. HUP => reload (without restart). It might not work well. ** Mongrel 1.1.5 available at 0.0.0.0:12002 ** Writing PID file to log/mongrel.pid /home/blake/rails_apps/ARLiveMusic/app/views/layouts/frontend.rhtml: 34: warning: don't put space before argument parentheses /home/blake/rails_apps/ARLiveMusic/app/views/event/view_tickets.rhtml: 13: warning: multiple values for a block parameter (0 for 1)   from /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/ helpers/capture_helper.rb:36 /home/blake/rails_apps/ARLiveMusic/app/views/event/view_tickets.rhtml: 13: warning: multiple values for a block parameter (0 for 1)   from /usr/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/ helpers/capture_helper.rb:36

Production.log Reads: Processing CartController#add_to_cart (for 75.199.46.15 at 2010-07-28 18:00:47) [POST]   Parameters: {"commit"=>"Purchase", "quantity"=>"1", "available_ticket_id"=>"31"}   e[4;36;1mMobileCarrier Load (0.1ms)e[0m e[0;1mSELECT * FROM `mobile_carriers` e[0m   e[4;35;1mAvailableTicket Load (0.1ms)e[0m e[0mSELECT * FROM `available_tickets` WHERE (`available_tickets`.`id` = 31) e[0m   e[4;36;1mEvent Load (0.1ms)e[0m e[0;1mSELECT * FROM `events` WHERE (`events`.`id` = 25) e[0m   e[4;35;1mAvailableTicket Load (0.1ms)e[0m e[0mSELECT * FROM `available_tickets` WHERE (`available_tickets`.event_id = 25) e[0m   e[4;36;1mTicket Load (0.1ms)e[0m e[0;1mSELECT `tickets`.* FROM `tickets` WHERE (`tickets`.available_ticket_id IN (30,31)) e[0m   e[4;35;1mSQL (0.1ms)e[0m e[0mselect e.id as event_id, at.id as available_ticket_id, count(t.id) as ticket_count from events e inner join available_tickets at on e.id = at.event_id left outer join tickets t on at.id = t.available_ticket_id where at.id in (30,31) group by e.id, at.id e[0m Redirected to http://www.arkansaslivemusic.com/cart/display_cart Completed in 5ms (DB: 0) | 302 Found [http://www.arkansaslivemusic.com/ cart/add_to_cart]

environment config:

# Be sure to restart your web server when you modify this file.

# Uncomment below to force Rails into production mode when # you don't control web/app server and can't set it the proper way # ENV['RAILS_ENV'] ||= 'production'

# Specifies gem version of Rails to use when vendor/rails is not present # RAILS_GEM_VERSION = '1.2.3'

# Bootstrap the Rails environment, frameworks, and default configuration require 'rubygems' require File.join(File.dirname(__FILE__), 'boot')

Rails::Initializer.run do |config|   # Settings in config/environments/* take precedence those specified here

  # Skip frameworks you're not going to use (only works if using vendor/rails)   # config.frameworks -= [ :action_web_service, :action_mailer ]

  # Add additional load paths for your own custom dirs   config.load_paths += %W( #{RAILS_ROOT}/lib/alm/ticket_printing )

  # Force all environments to use the same logger level   # (by default production uses :info, the others :debug)   config.log_level = :debug

  # Use the database for sessions instead of the file system   # (create the session table with 'rake db:sessions:create')   # config.action_controller.session_store = :active_record_store

  # Use SQL instead of Active Record's schema dumper when creating the test database.   # This is necessary if your schema can't be completely dumped by the schema dumper,   # like if you have constraints or database-specific column types   # config.active_record.schema_format = :sql

  # Activate observers that should always be running   # config.active_record.observers = :cacher, :garbage_collector

  # Make Active Record use UTC-base instead of local time   # config.active_record.default_timezone = :utc

  # See Rails::Configuration for more options

  config.action_controller.session = {     :key => "_ARLiveMusic_session",     :secret => "dce8f409e48ca4c4140dd178eb6498412e773da5cfa4739329c05eb0eafb2e9c48701406fe990a2e3127fb2676ed0cdad3d1124fcf22b3d9f98ec16c3ca4c193"   } end

# Add new inflection rules using the following format # (all these examples are active by default): # Inflector.inflections do |inflect| # inflect.plural /^(ox)$/i, '\1en' # inflect.singular /^(ox)en/i, '\1' # inflect.irregular 'person', 'people' # inflect.uncountable %w( fish sheep ) # end

# Include your application configuration below

# Ticket Printing Service require 'default.rb' require 'xsd/qname' # require 'defaultDriver.rb' # require 'defaultMappingRegistry.rb' require 'soap/mapping' require 'soap/rpc/driver'

TPS_LOGO_ID = 1; TPS_AD_CODE = 'ad001'

# Required for newsletter export require 'fastercsv'

# Required for credit card processing # moved payment to individual environment files # Required for credit card processing require 'payment' GATEWAY_USER = '3XL85pT6gwqX' GATEWAY_PASSWORD = '5W997Ar49LY7pnn4' TEST_MODE = false

TPS_ENDPOINT = 'http://tickets.arkansaslivemusic.com/ TicketPrintingService.asmx'

# Required for thumnail resizing for event images require 'RMagick' include Magick #file system home EVENT_IMAGE_HOME = File.join(RAILS_ROOT, 'public', 'system', 'events') #url path EVENT_IMAGE_PATH = '/system/events' THUMBNAIL_GEOMETRY = '150x250'

# Flickr account info # Requires registration and application for an API key # The App Garden on Flickr require 'flickr' # id of flickr group for venue FLICKR_GID = '422409@N21' FLICKR_CONF = {   :key => 'XXXXXXXXXXXXXXXXX',   :secret => 'XXXXXXXXXXXXXXXXXXXx',   :uid => 'XXXXXXXXXXXXXX@N04',   :gid => FLICKR_GID,   :cache => "#{RAILS_ROOT}/config/fickr.cache" } PHOTOS_ENABLED = FLICKR_CONF[:key] && FLICKR_CONF[:secret] && FLICKR_CONF[:uid] FLICKR_PHOTOS_PER_PAGE = 20 FLICKR_PREVIEW_SIZE = 's' FLICKR_INSERT_SIZE = 'm'

# Number of Featured shows to pull on homepage FEATURED_SHOW_LIMIT = 15

# Application Name APPLICATION_NAME = "ArkansasLiveMusic.com" # The email address we SHOULD send ALL mail from APPLICATION_EMAIL_FROM = 'webagent@arkansaslivemusic.com' # Mail character set APPLICATION_MAIL_CHARSET = 'utf-8' APPLICATION_ADMIN_EMAIL = 'support@arkansaslivemusic.com'

Please let me know if you need to see anything else!! THANK YOU in advance!

I've seen stuff blow up like that when it couldn't write to the session (although with a cookie store that seems fairly unlikely). What version of rails are you running.

Fred

The log entry you have posted is for a successful attempt, which did happen under certain circumstances while I was fiddling with your site. If the error is making it to the logs you should see an entry that returns code 500 rather than '302 Found'. With any luck it is accompanied by a large stack trace.

In keeping with what Frederick said this seems to be an issue related to the session. In firefox you can add a ticket once, then any subsequent attempt will fail. If you close the browser and reopen it (clearing the session cookie) you will be able to add to the cart once again.

It appears that you cannot remove tickets from the cart either. After clicking remove and confirming in the pop up the ticket persists in the cart. This could be session related.

Also the name 'tickets.arkansaslivemusic.com' that is specified under TPS_ENDPOINT doesn't appear to be set up on your server.

Ethan

You'll probably also want to change the session secret, as it's now publicly available in the archive...

--Matt Jones