2015-06-27 27 views
0

我有正由AJAX調用JavaScript文件中的小PHP服務:服務PHP Rails中

$.ajax({ 
    type: "GET", 
    url: "getDate.php",     
    dataType:"json", 
    data :{ 
     fromDate:fromDate, 
     toDate:toDate 
    }, 
    success: function(data) { 
     ...... 
     } 
}); 

此服務包含:

$fromDate = $_GET['fromDate']; 
$toDate = $_GET['toDate']; 
$fromDate=date_create($fromDate); 
$fromdate = date_format($fromDate,"Y-m-d")."T".date_format($fromDate,"H:i:s")."Z"; 
$fromdate = urlencode($fromdate); 
$toDate=date_create($toDate); 
$todate = date_format($toDate,"Y-m-d")."T23:00:00Z"; 
$todate = urlencode($todate); 
$url = "http://194.209.53.19:8086/query?db=Bellevue&q=select+*+from+measures+where+time%3E%3D%27".$fromdate."%27+and+time%3C%3D%27".$todate."%27"; 
$data = file_get_contents($url, false); 
echo $data; 

我需要在我的Rails使用此應用。我想知道我是否可以將.php文件放在Rails文件夾中,並簡單地調用它。或者如果有辦法在Rails中做類似的服務?

回答

0

當然,你可以在Rails中做到這一點。首先,您需要爲您的請求定義路線。寫在你的routes.rb文件中的以下,位於配置/ routes.rb中:

get "/getDate" => "generals#get_date" 

這也就意味着:只要有GET請求/getDate,去控制器GeneralController,並調用其功能命名get_date 。如果你寫了users#get_date,Rails會嘗試在UsersController中找到get_date方法。

通過以下命令生成您所選擇的控制器:

rails generate controller General 

它會生成一個文件在其他文件中的應用程序/控制器命名general_controller.rb。

現在,你需要在那裏定義你所有的邏輯。其他事情:在PHP中,您使用$_GET['formDate']獲得發送的數據,但在Rails中,您將通過執行params[:formDate]來完成相同的功能。

def get_date 
    form_date = params[:formDate] 
    # and now here you can write all your logic, and can finally return the response 

    respond_to do |format| 
    format.json { render json: data_to_be_returned } 
    end 
end 

編輯:

對於PHP date_createdate_format功能,你可以看看他們的等價物herehere

+0

感謝你,看起來很容易做!我現在的問題是,我不知道date_create,date_format等的Rails等價物。你有鏈接還是可以提供給我的東西? – Komarzer

+0

我已經更新了我的答案。如果你認爲我的回答是有效的,並幫助你,你可以接受它。 –

+0

它通過使用strftime工作,謝謝。我接受了你的答案。 – Komarzer