在AngularJS中执行Ruby脚本

时间:2014-06-26 20:53:35

标签: javascript mysql ruby angularjs

我使用AngularJS设置了一个简单的todo应用程序来测试其功能,一旦我运行了基础知识,我就决定为数据添加持久性。

我决定使用MySQL设置一个本地环境,并且有点麻烦我决定使用Ruby而不是PHP来进行服务器访问。

问题来自执行Ruby脚本和检索数据。现在,当我尝试在AngularJS中使用$ http时,它只返回ruby脚本,而不是执行它。

此处的相关代码供参考。

todo.js:

var module = angular.module('app', []);

module.service('MySQLConnect', function($http) {
    this.getData = function() {
    $http.get('api/todos.rb').success(function(data) {
        console.log(data);
    });
    return response;
    }
});

module.controller('TodoCtrl', function($scope, MySQLConnect) {
    $scope.todos = MySQLConnect.getData();
});

todos.rb:

require 'mysql'

begin
    connection = Mysql.new 'localhost', 'root', 'root', 'todo', 8889, '/Applications/MAMP/tmp/mysql/mysql.sock'
    results = connection.query("SELECT * FROM todos")
    todos = []

    results.each_hash do |row|
        todos.push(row)
    end

    todos

rescue Mysql::Error => e
    puts e.errno
    puts e.error

ensure
    connection.close if connection
end

现在,数据的控制台日志只返回用todos.rb编写的所有内容。如何让它实际执行脚本并返回todos数组?

0 个答案:

没有答案