js ファイル内:
function jqShowResourcesSelection( elem, select_id )
{
if (elem.checked){
$("#" + select_id).attr("disabled","disabled");
$.ajax({
url: '/testbeds/resources_selection',
type: 'POST',
dataType : 'script',
data: {"configuration_id": $("#" + select_id).val()},
success: function() {
addFilter();
}
});
}
else {
$("#testbed_configuration_id").attr("disabled", false);
$("#ResourcesSelection").html('');
}
}
routes.rb 内
ResourceManager::Application.routes.draw do
resources :testbeds do
collection do
post :resources_selection
end
end
resources :resources
resources :configurations
...................
root :to => 'configurations#index'
end
開発環境と本番環境の両方のローカル マシンで正常に動作します。しかし、サーバー nginx では、js 関数をトリガーした後、chrome コンソールに次のように表示されます。
POST http://example.com/testbeds/resources_selection 404 (Not Found)
「取得」する「投稿」も試しました。
function jqShowResourcesSelection( elem, select_id )
{
if (elem.checked){
$("#" + select_id).attr("disabled","disabled");
$.ajax({
url: '/testbeds/resources_selection.js',
type: 'GET',
data: {"configuration_id": $("#" + select_id).val()},
success: function() {
addFilter();
}
});
}
else {
$("#testbed_configuration_id").attr("disabled", false);
$("#ResourcesSelection").html('');
}
}
ルート.rb:
ResourceManager::Application.routes.draw do
resources :testbeds do
collection do
get :resources_selection
end
end
...........................
end
また、開発環境や本番環境に関係なく、ローカルでも問題なく動作します。しかし、チェックボックスをオンにした後もサーバーで 404 のままです。
そして以下のようにngnixの設定:
http {
passenger_root /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.18;
passenger_ruby /usr/local/bin/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name cth-infra-07.datadomain.com 10.110.131.4 localhost;
root /var/www/webapps/;
rack_env production;
passenger_enabled on;
passenger_base_uri /resource_manager;
passenger_base_uri /request_handler;
passenger_base_uri /scheduler;
passenger_base_uri /resque;
passenger_base_uri /central_server;
}
誰かがそれについて私を助けることができますか? ありがとう。