0

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;
    }

誰かがそれについて私を助けることができますか? ありがとう。

4

0 に答える 0