ruby-on-rails - 如何找到数组中最后一项的索引?

标签 ruby-on-rails ruby arrays parameters

我的数组:

(rdb:381) pp params[:payments]
{"0"=>{":amount_paid"=>"100.00", ":date_paid"=>"2/27/2008"},
 "1"=>{":amount_paid"=>"80.00", ":date_paid"=>"3/27/2008"},
 "2"=>{":amount_paid"=>"100.00", ":date_paid"=>"5/8/2008"}}

我不相信这是一个对象。执行 params[:payments].last 返回:

NoMethodError Exception: undefined method `last' for #<ActiveSupport::HashWithIndifferentAccess:0x1065e8448>

我正在尝试查找最后一项的索引。在这种情况下,答案是2,或"2"

最佳答案

嘿,你的数组实际上是一个散列。您也许可以通过执行诸如 params[:payments].keys.map(&:to_i).max.to_s

之类的操作来获取最后一个 key 的索引

传回一个实际的数组会更好。您是如何生成 :payments 选项的?

关于ruby-on-rails - 如何找到数组中最后一项的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4856963/

相关文章:

ruby-on-rails - 如何定义一个代码块一次使用多次?

ruby-on-rails - 将 CSV 文件解析为 Rails 数据库

ruby - 在 ruby​​ 中访问 Net::HTTP::Post 的 header

ruby-on-rails - 使用axlsx生成xls文件

css - @font-family Rails 中的 CSS 规范,未显示正确的字体

python - 数组中的条件选择

c++ - 如何使用指针符号从数组中的元素中减去?

php - OOP 挑战 如何在 php mysql 结果集中使用 foreach 进行嵌套?

ruby - 如何在 Ruby 中读取 UDP 广播数据报

html - 在网格中显示使用 PaperClip 上传的图像缩略图