【问题标题】:Ruby on Rails, params unavailable?Ruby on Rails,参数不可用?
【发布时间】:2021-09-08 06:08:24
【问题描述】:

任何 ace Ruby 开发人员想帮助解释为什么我不能访问这个参数集? p params 清楚地表明该值在那里,但是当我去访问它时: params[:RecordNumber] 我得到了 nil...

<ActionController::Parameters {"utf8"=>"✓", "authenticity_token"=>"J0+Of/paMueE9onPOjMefgnWIY2jZn==", "fee"=>{"ID"=>"", "bond_no"=>"", "typ_inst"=>"", "record_number"=>"", "recno"=>"", "RecordNumber"=>"480", "FeeAcctNo"=>"", "Amount"=>"345", "Dt_Assigned"=>"2021-01-21", "FeeType"=>"TRN", "OpNo"=>"656", "Legacy_Number"=>"333"}, "commit"=>"Create Fee", "controller"=>"admin/fees", "action"=>"create"} permitted: false>

Code Base

【问题讨论】:

  • 您的参数包括两个关闭的},这意味着您的参数是嵌套的。因为您没有发布整个参数,而只是一张缺少某些部分或参数的图片,所以我们无法判断该键嵌套在哪个键下。请将参数复制并粘贴到您的问题中。
  • @spickermann,上面更新了,谢谢!
  • "但是当我去访问它时:params[:RecordNumber]" - 但这不是它的存储方式。注意嵌套。
  • @SergioTulentsev & Snirka 显然我不知道或者我不会发布。不过谢谢你的蛇,完全是我们来这里的目的......
  • @SeanGillespie 基本规则,包括关于代码图像的规则,在How to ask 中,从“新问题”页面链接到,IIRC 是该网站制定的内容之一您在注册时阅读。但至少你现在知道了。

标签: javascript ruby ruby-on-rails-4


【解决方案1】:

您的params 是嵌套的。当我们使用缩进格式化参数时,哪个更容易看到:

{
  "utf8" => "✓", 
  "authenticity_token" => "J0+Of/paMueE9onPOjMefgnWIY2jZn==", 
  "fee" => {
    "ID" => "", 
    "bond_no" => "", 
    "typ_inst" => "", 
    "record_number" => "", 
    "recno" => "", 
    "RecordNumber" => "480", 
    "FeeAcctNo" => "", 
    "Amount" => "345", 
    "Dt_Assigned" => "2021-01-21", 
    "FeeType" => "TRN", 
    "OpNo" => "656", 
    "Legacy_Number" => "333"
  }, 
  "commit" => "Create Fee", 
  "controller" => "admin/fees", 
  "action" => "create"
}

你可以像这样读取嵌套参数:

params[:fee][:RecordNumber]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    相关资源
    最近更新 更多