如何在create语句中引用某些内容

时间:2014-03-17 09:36:56

标签: ruby-on-rails

基本问题,但我想知道如何引用我刚刚创建的内容。例如,如果我创建这样的东西......

  EmployeeExpenseClaim.create(employee_id: @employee.id, account_id: @employee.account.id, claim_status: 'In Progress')

然后我想在模型上调用一个方法来生成日志文件中的记录。

EmployeeExpenseClaim.last.generate_log('Claim created', @employee)

显然,使用" last"是不正确的,所以如何获取我刚刚创建的实例的id。我试过以下但是它不喜欢它。

  c = EmployeeExpenseClaim.create(employee_id: @employee.id, account_id: @employee.account.id, claim_status: 'In Progress')
  c.generate_log('Claim created', @employee)

当有人指出它时,怀疑这是显而易见的,对新手问题感到抱歉。如果我使用它,这一切都很好用。

c = EmployeeExpenseClaim.new
etc...

但我认为使用create方法会更优雅。

由于

1 个答案:

答案 0 :(得分:1)

使用after create callback调用方法。