doskmc7870 2015-06-27 00:12
浏览 23
已采纳

在Rails中服务PHP

I have a small PHP service that is being called in a JavaScript file by AJAX :

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

This service contains :

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

I need to use this in my Rails application. I was wondering if I could put the .php file in a Rails folder, and simply call it. Or if there's a way to do a similar service in Rails?

  • 写回答

1条回答 默认 最新

  • dqsa17330 2015-06-27 00:50
    关注

    Sure, you can do this in Rails. First, you need to define the route for your request. Write the following in your routes.rb file, located at config/routes.rb:

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

    What that means is: whenever there is a GET request for /getDate, go to controller GeneralController, and invoke its function named get_date. If you wrote users#get_date, Rails would try to find the get_date method in UsersController.

    Generate the controller of your choice by following command:

    rails generate controller General
    

    It will generate a file named general_controller.rb in app/controller among other files.

    Now, you need to define all your logic there. Other thing: in PHP, you get the sent data using $_GET['formDate'], but in Rails, you will accomplish the same functionality by doing 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
    

    Edit:

    For date_create or date_format functions in PHP, you can look up their equivalents at here and here.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!