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.

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

报告相同问题?

悬赏问题

  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?
  • ¥15 关于#vue.js#的问题:修改用户信息功能图片无法回显,数据库中只存了一张图片(相关搜索:字符串)
  • ¥15 texstudio的问题,
  • ¥15 spaceclaim模型变灰色
  • ¥15 求一份华为esight平台V300R009C00SPC200这个型号的api接口文档
  • ¥15 就很莫名其妙,本来正常的Excel,突然变成了这种一格一页
  • ¥15 字符串比较代码的漏洞
  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?