php - 如何将参数(例如 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
和输入的表单。username
password
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'
解决方案
我能够成功地从 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
推荐阅读
- assembly - 为什么有多个移动而不是一个?
- android - 更改 Android 模拟器的渲染器无效
- c# - 我遇到了多次调用 Web api 服务的问题
- apache-kafka - Kafka 消费者问题(接收最新偏移量)
- android - CommonDataKinds.Phone.CONTACT_ID 在联系人数据库中为空
- c# - 发布后 Web 应用程序找不到我的 API
- python - 没有布尔对象,但回溯说:“布尔”对象不可调用
- rxjs - RXJS 结合最新如何单独和一起开火
- excel - 来自 AVERAGEIFs 的 AVERAGE 将忽略 AVERAGEIFs 其中是 ERROR EXCEL
- excel - Excel Jet Access,左连接 OR/AND