首页 > 解决方案 > 如何将参数(例如 id、用户名、密码)从我的 ruby​​ on rails 模型传递到我的 php codeigniter 控制器

问题描述

我是 ruby​​ on rails 的新手,我使用 ruby​​ on rails 创建了一个简单的登录和注册应用程序。

我想传递从表单中获取的 id、用户名和密码(使用 ruby​​ on rails)并将其传递给我的 php codeigniter 代码,该代码将其插入数据库并将其取回并显示为 JSON 输出。

我已经完成了后一部分,我的 php 代码将发布数据插入到 phpmyadmin 数据库并获取它(使用邮递员 POST 传递 id、用户名和密码的值)

但是,我不再想使用邮递员。我想从我创建的 ruby​​ on rails 表单中发布数据,但我不知道如何。

我的 Rails 应用程序运行localhost:3000和 phplocalhost:8080

我通过使用创建了一个没有数据库的rails应用程序,并-O创建了用于获取id和输入的表单。usernamepassword

php 到数据库的交互已完成并成功。请帮助对 php 控制器进行 API 调用的 rails 部分。以下是供参考的代码。

用户控制器代码:

class UsersController < ApplicationController

    def index
    end

    def create
        user = User.new(token: user_params).credentials
    end

    private 
        def user_params
            params.require(:user).permit(:id, :username, :password)
        end
end

用户模型

class User

    def initialize(attributes={})
        @token ||= attributes[:token]
    end

    def credentials
        #not aware of the code needed here to communicate
           # or pass parameters to my php controller i.e. the API call
           #that needs to be made to my php file. 
    end
end

路由.rb 文件

get '/' => 'users#index'
post '/users' => 'users#create'

标签: phpruby-on-railsrubycodeigniter

解决方案


我能够成功地从 rails 调用 api 到 php 文件并将变量存储在我的数据库中。感谢@ficuscr 和@tadman 提供的资源。

这是我的代码:

用户控制器

class UsersController < ApplicationController
    def index
    end

    def create
        @users = User.new(token: user_params).credentials
        redirect_to '/dashboard'
    end

    private 
        def user_params
            params.require(:user).permit(:id, :username, :password).to_hash
        end
end

用户模型

class User

    def initialize(attributes={})
        @token ||= attributes[:token]
    end

    def credentials
        my_connection = Net::HTTP.new('localhost', 8080)
        request = my_connection.post('/restapitrial/index.php/Users/insert/', @token.to_json, "Content-Type" => "application/json")
    end
end

推荐阅读