繁体   English   中英

如何将我的Ruby on Rails模型中的参数(例如,ID,​​用户名,密码)传递给我的PHP Codeigniter控制器

[英]How do I pass parameters (eg. id, username, password) from my ruby on rails model to my php codeigniter controller

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

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

我已经完成了后一部分,其中我的php代码将发布数据插入到phpmyadmin数据库中并进行了获取(用于邮递员POST来传递ID,用户名和密码的值)

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

我的Rails应用程序在localhost:3000上运行,而php在localhost:8080

我使用-O创建了一个不带数据库的Rails应用程序,并创建了接受idusernamepassword输入的表单。

PHP与数据库的交互已完成且成功。 请在使API调用php控制器的rails部分中提供帮助。 以下是供参考的代码。

UsersController代码:

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

routes.rb文件

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

我能够成功地从Rails到php文件进行api调用,并将变量存储在数据库中。 感谢@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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM