我刚刚将我的站点从本地 webrick 服务器部署到了真实服务器,
http://92.51.243.6/
我很高兴我自己设法部署了它,但是当我意识到我的大部分链接都不起作用时,这种感觉很快就消失了。(我知道 Facebook 的问题,这真的是我现在关心的链接) - 关于我们、常见问题解答、联系我们,以及在“注册”页面上,链接“条款和条件”给出了错误,“我“很抱歉,但出了点问题”
我用代码建立了链接:
<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>
在 WEBrick 上,所有链接在本地模式下都可以正常工作。在我的生产日志中,我收到了很多消息,例如:
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'
这是我的 routes.rb 文件:
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
还有我的 scripts.js 文件,它做 ajax 的东西:
//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");
});
任何帮助将不胜感激,谢谢。