当前位置: 首页 > 知识库问答 >
问题:

没有将符号隐式转换为整数 - 使用URL中的参数

越雨泽
2023-03-14

尝试将 URL 中包含的参数转换为整数,以便在控制器中对其进行操作 - URL 的格式类似于 http://localhost:3000/charges?data=149

charges_controller.rb 如下所示:

class ChargesController < ApplicationController
  protect_from_forgery with: :null_session

  def new
  end


  def create

    @amount = {}
    @amount = params [:**data**][:email].map(&:to_i)
    @amount.save

    customer = Stripe::Customer.create(
      :email => params[:stripeEmail],
      :source  => params[:stripeToken]
    )

    charge = Stripe::Charge.create(
      :customer    => customer.id,
      :amount      =>  @amount,
      :description => 'Rails Stripe customer',
      :currency    => 'eur'
    )

  rescue Stripe::CardError => e
    flash[:error] = e.message
    redirect_to new_charge_path
  end

end

我在better_errors屏幕中看到的参数已经检测到“数据”量:

{"stripeToken"=>"asdfasdf", "stripeTokenType"=>"card", "stripeEmail"=>"email@gmail.com", "data"=>"149", "email"=>"email@gmail.com", "action"=>"create", "controller"=>"charges"}

在live shell中,如果我执行params[: data],则会出现更好的错误。to_i它返回149,但如果我将其直接包含在控制器中,例如:

@amount = {}
@amount = params [:data].to_i[:email]
@amount.save

它返回 [:d ata] 的未定义方法 'to_i':数组

还尝试将它们映射为:@amount = params [:d ata][:email].map(


共有1个答案

宗冷勋
2023-03-14
匿名用户

您应该在从< code>params [:data]到< code>params[:data]调用:params散列上的数据时删除空格。

 类似资料:
  • 我正在尝试将文件导入Excel,但是当我尝试使用相关数据创建记录时,它会向我显示以下错误: 在此行中: 这是我用来导入的列表控制器和方法: 我的方法导入到列表控制器中: 这是我的“deta”控制器:

  • 我在尝试更改哈希值时遇到了一个奇怪的问题。我有以下设置: 当我执行此代码时,我得到:“TypeError:没有将符号隐式转换为整数”,尽管 item[:company_name] 的输出是预期的字符串。我做错了什么?

  • 搞砸 使用的代码 我无法获得以下输出: 错误信息: 类型错误没有将符号隐式转换为整数 在多条记录的情况下,它可以正常工作 使用的代码

  • 我试图创建AWS安全组,但我得到的错误在 我在遵循这个文档。知道如何解决这个错误吗? 错误:

  • 我尝试使用改造2发布到rails来过滤来自params[: filter]的一些数据是: 所以我想用一个简单的参数[:filter][:id]获取id,但它,感谢您的帮助,如果它看起来是一个简单的问题,很抱歉

  • 当创建新的学生时,Im得到错误“没有符号到整数的隐式转换” 在控制器中, 是什么导致了这个问题?