Note that there are some explanatory texts on larger screens.

plurals
  1. POExtra directory prepended to my routes in production
    primarykey
    data
    text
    <p>My rails application works fine locally, and seems to deploy normally. The root route brings you to my welcome splash page. I have a link on that page to the index for my organizations model, generated by the following code:</p> <pre><code>&lt;%= link_to("Organizations", organizations_path, :class =&gt; "button_blue") %&gt; </code></pre> <p>When I try to click that link on the production server, hosted by a2 hosting, I get the following error:</p> <pre><code>Started GET "/database/organizations.shtml" for 11.222.33.444 at Sat Oct 05 00:10:35 -0400 2013 ActionController::RoutingError (No route matches [GET] "/database/organizations.shtml"): actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' ... </code></pre> <p>Why is it trying to get "/database/organizations" instead of "/organizations" like it does in development? The url in the address bar reads "<a href="http://database.mysite.com/organizations" rel="nofollow">http://database.mysite.com/organizations</a>". Does it have something to do with the fact that the site is located at the subdomain database.mysite.com? How do I get around this, since I can't use the primary domain for my rails app?</p> <p>For what it's worth, here's what I get when I run</p> <pre><code>RAILS_ENV=production bundle exec rake routes | grep organization </code></pre> <p>on the server:</p> <pre><code> organizations GET /organizations(.:format) organizations#index POST /organizations(.:format) organizations#create new_organization GET /organizations/new(.:format) organizations#new edit_organization GET /organizations/:id/edit(.:format) organizations#edit organization GET /organizations/:id(.:format) organizations#show PUT /organizations/:id(.:format) organizations#update DELETE /organizations/:id(.:format) organizations#destroy </code></pre> <p>Here is my routes.rb:</p> <pre><code>MyApp::Application.routes.draw do root :to =&gt; 'application#index' resources :grantmakers, :grant_records, :events, :organizations end </code></pre> <p>Here is my config/environments/production.rb:</p> <pre><code>MyApp::Application.configure do # Settings specified here will take precedence over those in config/application.rb # Code is not reloaded between requests config.cache_classes = true # Full error reports are disabled and caching is turned on config.consider_all_requests_local = false config.action_controller.perform_caching = true # Disable Rails's static asset server (Apache or nginx will already do this) config.serve_static_assets = false # Compress JavaScripts and CSS config.assets.compress = true # Don't fallback to assets pipeline if a precompiled asset is missed config.assets.compile = true # Generate digests for assets URLs config.assets.digest = true # Defaults to nil and saved in location specified by config.assets.prefix # config.assets.manifest = YOUR_PATH # Specifies the header that your server uses for sending files # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. # config.force_ssl = true # See everything in the log (default is :info) # config.log_level = :debug # Prepend all log lines with the following tags # config.log_tags = [ :subdomain, :uuid ] # Use a different logger for distributed setups # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) # Use a different cache store in production # config.cache_store = :mem_cache_store # Enable serving of images, stylesheets, and JavaScripts from an asset server # config.action_controller.asset_host = "http://assets.example.com" # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) # config.assets.precompile += %w( search.js ) # Disable delivery errors, bad email addresses will be ignored # config.action_mailer.raise_delivery_errors = false # Enable threaded mode # config.threadsafe! # Enable locale fallbacks for I18n (makes lookups for any locale fall back to # the I18n.default_locale when a translation can not be found) config.i18n.fallbacks = true # Send deprecation notices to registered listeners config.active_support.deprecation = :notify # Log the query plan for queries taking more than this (works # with SQLite, MySQL, and PostgreSQL) # config.active_record.auto_explain_threshold_in_seconds = 0.5 end </code></pre> <p>And here is my application_controller.rb:</p> <pre><code>class ApplicationController &lt; ActionController::Base protect_from_forgery def index end before_filter :basic_http_authentication private def basic_http_authentication if Rails.env.production? authenticate_or_request_with_http_basic do |username, password| username == '---' &amp;&amp; password == '---' end end end end </code></pre> <p>Thanks very much for your help.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload