从另一个模型获取对象的方法

时间:2015-05-05 12:00:34

标签: ruby-on-rails

我在类中有以下方法,我需要从另一个模型中提取项目以在此方法中使用。我似乎无法拉动该项目,因为我使用current_user来获取其他项目,并且模型无法识别current_user。我不确定这是怎么干的,因为我已经读过该模型不应该调用current_user。这是方法......

class Upsell
  include Mongoid::Document
  belongs_to :user
  belongs_to :charges

...

  def total_fees
    items = []
    items << (current_user.reportapprovals.first.admin_request_report_type).to_i
      if self.multiple_admin == true
       items << self.multiple_admin_amount
      end
end

我的错误是

undefined local variable or method `current_tenant' for #<Upsell:0xc82c9d39>

我想知道我是否应该在模型中设置用户,但到目前为止还没有用。

@user = User.find(params[:id])

1 个答案:

答案 0 :(得分:3)

您需要将current_user作为函数参数

传递
def total_fees_for user
    items = []
    items << (user.reportapprovals.first.admin_request_report_type).to_i
    if self.multiple_admin == true
       items << self.multiple_admin_amount
    end
end