I just deployed my site from my local webrick server to a real server,
http://92.51.243.6/
I was delighted I managed to deploy it by myself, but that quickly disappeared on realising most of my links don't work. (I know about the Facebook issue, it's really the links I'm concerned about now) - About Us, FAQ, Contact Us, and on the 'Sign Up' page where the link 'Terms and Conditions' gives the error, 'I'm sorry, but something went wrong'
I made my links with the code:
<div id = "menu">
<ul id = "home_page_links">
<li><%= link_to "Home",about_us_path, :remote => true %></li>
<li><%= link_to "About Us",about_us_path, :remote => true %></li>
<li><%= link_to "FAQ", faq_path, :remote => true %></li>
<li><%= link_to "Contact Us", contact_us_path, :remote => true %></li>
</ul>
</div>
All the links work fine in local mode, on WEBrick. In my production log I'm getting a lot of messages, such as:
Started GET "/contact_us" for 77.24.238.174 at Thu May 30 00:11:08 +0100 2013
Processing by StaticPagesController#contact_us as */*
Rendered static_pages/contact_us.html.erb within layouts/application (0.0ms)
Completed 500 Internal Server Error in 4ms
ActionView::Template::Error (ie.css isn't precompiled):
12: <%= javascript_include_tag "application" %>
13: <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
14: <!--[if lt IE 9]>
15: <%= stylesheet_link_tag 'ie', :media => 'all' %>
16: <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
17: <![endif]-->
18: </head>
app/views/layouts/application.html.erb:15:in `_app_views_layouts_application_html_erb__922519344_37417300'
And here is my routes.rb file:
QuestionnaireSite::Application.routes.draw do
get "about_us", :to => "static_pages#about_us"
get "contact_us", :to => "static_pages#contact_us"
get "faq", :to => "static_pages#faq"
get "competition_terms", :to => "static_pages#competition_terms"
get "t_and_c", :to => "static_pages#terms_and_conditions"
# get "user", :to => @user(current_user)
get "render_index_review", :to => "reviews#render_index"
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
devise_scope :user do
delete "sign_out", :to => "devise/sessions#destroy"
get "login", :to => "devise/sessions#new"
end
devise_for :admins, :path => "admin", :controllers => { :sessions => "admin/sessions" }
get "home/index"
get "home/map", :as => :map
post "home/update_address", :as => :update_address
match "canvas" => "canvas#index"
match "/contacts/:importer/callback" => "email_invites#contacts_callback", :as => :contacts_callback
match "/contacts/failure" => "email_invites#contacts_callback_failure", :as => :contacts_callback_failure
mount Resque::Server, :at => "/resque"
get "find" => 'search#index', :as => :find
resources :search do
collection do
match :change_range
end
end
resources :reviews do
member do
get :repost, :reject
end
end
resources :users do
member do
get :following_followers, :address_toggle
end
end
resources :friend_relations, :only => [:create, :destroy]
resources :email_invites do
collection do
get :confirm
post :invitation_form
post :outlook_import
end
end
root :to => "home#index"
namespace :admin do
resource :profile, :only => [:edit, :update]
resources :users
resources :categories
resources :reviews
root :to => "users#index"
end
And my scripts.js file, which does ajax stuff:
//I want to load content into the '.page-content' class, with ajax
var ajax_loaded = (function(response) {
$(".page-content")
.html($(response).filter(".page-content"));
$(".page-content .ajax").on("click",ajax_load);
});
//the function below is called by links that are described
//with the class 'ajax', or are in the div 'menu'
var history = [];
// var current_url_method;
var ajax_load = (function(e) {
//console.log('load ajax on clicks. This always works.');
e.preventDefault();
history.push(this);
var url =$(this).attr("href");
var method = $(this).attr("data-method");
// if (current_url_method != url + method) {
// console.log('You got to the url + method part. But sometimes I dont get this far.');
// current_url_method = url + method;
$.ajax({
url: url,
type: method,
// async: false,
success: ajax_loaded
// $('html, body').animate({ scrollTop: 0 }, 0);
});
// }
});
//monitor for clicks from menu div, or with
//the ajax class, or the 'submit button'.
//why the trigger?
$(document).on("ready", function(){
$("#menu a").on("click",ajax_load);
$(".ajax").on("click",ajax_load);
$("#menu a.main").trigger("click");
});
Any help would be appreciated, thanks.