保存到数据库帖子,但在检查 Ruby on Rails 中的 http 请求之前

Posted

技术标签:

【中文标题】保存到数据库帖子,但在检查 Ruby on Rails 中的 http 请求之前【英文标题】:Save to database post,but before check http request in Ruby on Rails 【发布时间】:2017-09-06 07:59:15 【问题描述】:

我正在尝试将哈希值保存到我的数据库中,但在我想要检查请求之前 我正在使用

require 'net/http'
gem 'http'

这是我的控制器(我称之为:hammer)

class PaymentsController < ApplicationController
  before_action :logged_in_user, only: [:create]

  def create
    @payment = current_user.payments.build(payment_params)
    aza = ''
    uri = URI("https://blockexplorer.com/api/tx/#:hammer")
    res = Net::HTTP::Post.new(uri)
    res1 = res.class.name
    aza += Net::HTTP.get(uri)
    @go = aza
    if aza.include?( '3MGeicHK6P2pUpepsXyTiuA7omMbRZbZx3') #'"addresses":["3MGeicHK6P2pUpepsXyTiuA7omMbRZbZx3"]'
      if aza.include? '"value":"0.03072025"'
        if aza.include? '"confirmations":0'
          flash[:info] = "Wait 15 minutes for confirm"
        else
          if @payment.save
            flash[:success] = "You paid"
            redirect_to root_url
          else
            render 'welcome/index'
          end
        end
      else
        flash[:danger] = "You paid less"
      end
    else
      flash[:danger] = "#res1"
      redirect_to root_url
    end
  end

  def destroy
  end

  private

  def payment_params
    params.require(:payment).permit(:hammer)
  end
end

当我尝试保存时没有检查,它只是显示错误 400 但如果我使用控制台,它就可以工作

uri = URI("https://blockexplorer.com/api/tx/f484f14ebf9726ab2ab46ffc491786db50fc69ceff737620122e51559a3ea379")
irb(main):003:0> Net::HTTP.get(uri)

【问题讨论】:

【参考方案1】:

我觉得想做可以做

      @test = payment_params[:hammer]
   #   hammer = ''
   #   hammer += params[:hammer].to_s
      aza = ''
      uri = URI("https://blockexplorer.com/api/tx/#@test")

【讨论】:

【参考方案2】:

我认为错误是存在的:

uri = URI("https://blockexplorer.com/api/tx/#:hammer")

在支付控制器中。 试试吧:

uri = URI("https://blockexplorer.com/api/tx/#params[:hammer]")

您在插值中错过了 params[]。

【讨论】:

服务器做http请求时,对"blockexplorer.com/api/tx"做,#params[:hammer]为空

以上是关于保存到数据库帖子,但在检查 Ruby on Rails 中的 http 请求之前的主要内容,如果未能解决你的问题,请参考以下文章

Ckeditor无法保存textarea值(Ruby on Rails)

Ruby on rails 5.2 - 带有活动存储的背景图像

如何在 ruby​​ on rails 中发布数据

Ruby on Rails:如何使用迁移向现有列添加非空约束?

Magnific Popup Lightbox 在 Ruby on Rails 开发中有效,但在部署到 Heroku 时无效

Ruby on Rails 应用程序的 OpenID 支持