Ruby on rails 在模型中包含helper方法
如何在模型中包含在助手中定义的方法。型号代码如下:Ruby on rails 在模型中包含helper方法,ruby-on-rails,Ruby On Rails,如何在模型中包含在助手中定义的方法。型号代码如下: class Statement attr_accessor :opening_balance, :closing_balance def initialize(acct, year = nil, month = nil) @db = Database.instance @account = acct @year = year @month = month @mont
class Statement
attr_accessor :opening_balance, :closing_balance
def initialize(acct, year = nil, month = nil)
@db = Database.instance
@account = acct
@year = year
@month = month
@month_name = Date::MONTHNAMES[@month]
end
def to_s
"#{@account.number}-#{@month_name}-#{@year}"
end
def to_pdf
title = @account.name
subtitle = "Account Statement: #{@month_name} #{@year}"
# StatementPDF.new(title, subtitle, transactions).render
StatementPDF.new(title, subtitle, transactions).render
end
end
我希望包括在我的助手中定义的transactions方法
def transactions(account_id, start, finish)
response = get_call('/Accounts/Statements/' + account_id.to_s + '/' + start + '/' + finish)
response = JSON.parse(response.body)
@transactions = response.map do |txn|
Transaction.new(txn)
end
return @transactions
end
我正在研究以下解决方案(),但不知道如何将其与我的代码集成。只需包含定义了
事务
方法的模块,如下所示:
class Statement
include NameOfTransactionModule
attr_accessor :opening_balance, :closing_balance
def initialize(acct, year = nil, month = nil)
@db = Database.instance
@account = acct
@year = year
@month = month
@month_name = Date::MONTHNAMES[@month]
end
def to_s
"#{@account.number}-#{@month_name}-#{@year}"
end
def to_pdf
title = @account.name
subtitle = "Account Statement: #{@month_name} #{@year}"
# StatementPDF.new(title, subtitle, transactions).render
StatementPDF.new(title, subtitle, transactions).render
end
end
这将使
事务
方法作为语句
类的对象的实例方法可用 您可以删除return@transactions
。它是隐式返回的。@K M Rakibul Islam我尝试通过添加“包含事务”而不是“包含TransactionModule的名称”。我得到“语句:类的未定义局部变量或方法`transactions'”