在rails控制器中查找属性

时间:2016-10-17 13:15:18

标签: ruby-on-rails ruby

我有点像Ruby on Rails新手,我正在尝试找到数据库中特定列的最后一条记录。该系统接受比特币并生成并保存比特币地址,之后也会保存一笔金额。

我创建了以下迁移:

  def change
   create_table :payments do |t|
    t.string :bitcoin
    t.string :amount

    t.timestamps
   end
  end
我在控制器中的

class PaymentsController < ApplicationController

   def new_address
      @balance = BlockIo.get_new_address
   end
end

我想获得最后保存的比特币地址。我试过了:

payment = Payment.find(params[:id])
last_payment = payment.bitcoin.last

我也尝试过:

payment = Payment.find(params[:id])
last_payment = payment.pluck(:bitcoin).last

我通过Active Record文档检查了一些其他组合。请帮助我使用正确的语法来获取最后保存的比特币地址。

在show视图中,您可以通过以下方式访问数据:

请根据以上信息告知如何查看上次保存的比特币地址。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

尝试简单

last_payment = Payment.last.bitcoin

答案 1 :(得分:1)

payment = Payment.find(params[:id])

获取它的bitcoin属性的方法是:

payment.bitcoin

由于每笔付款只有一个bitcoin,因此无法找到最后一个 - 特定付款对象始终只有一个。

如果您想获得最后一笔(最新的)付款比特币:

Payment.last.bitcoin