ruby-on-rails – 如何将当前模型保留在我的方法范围内

ruby-on-rails – 如何将当前模型保留在我的方法范围内,第1张

概述我有一个Rails模型,在其中一个方法中,我正在使用这样的prawn生成pdf; class Report < ActiveRecord::Base def pdf_output Prawn::Document.new do text "Start date: #{start_date.strftime('%e %b %Y').squish}" end end 我有一个Rails模型,在其中一个方法中,我正在使用这样的prawn生成pdf;

class Report < ActiveRecord::Base  def pdf_output    Prawn::document.new do      text "Start date: #{start_date.strftime('%e %b %Y').squish}"    end  endend

在该文本方法中,我尝试输出报表模型的start_date属性.相反,我得到以下错误

NoMethodError in ReportsController#showundefined method `start_date' for #<Prawn::document:0x007fdafbce6930>

所以我的start_date方法是指我的document对象而不是我的Report对象.如何从此块中访问报表对象的变量和方法?

解决方法 通常的JavaScript技巧应该有效:

def pdf_output  report = self  Prawn::document.new do    text "Start date: #{report.start_date.strftime('%e %b %Y').squish}"  endend

只需抓住你需要的自我引用,这样你就不必担心Prawn在你的块内做了什么.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何将当前模型保留在我的方法范围内全部内容,希望文章能够帮你解决ruby-on-rails – 如何将当前模型保留在我的方法范围内所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1280960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存