我有同样的问题:can't write unknown attribute `info' PrawnPDF
然而,问题没有答案,只是他重新安装了虾。 我做了一个宝石卸载大虾,然后一个bundle安装重新安装gem,但我仍然得到错误。
唯一改变的是,在运行rails时,现在我收到了这些警告:
C:/Ruby21/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:已经初始化的常量Mime:PDF C:/Ruby21/lib/ruby/gems/2.1.0/gems/actionpack-4.2.4/lib/action_dispatch/http/mime_type.rb:163:警告:PDF的先前定义在这里
是否可以将我卸载并重新安装错误?
由于
答案 0 :(得分:2)
mimetype的错误是因为你可能有
Mime::Type.register "application/pdf", :pdf
已注册的config/initializers/mime_types.rb
中的。请删除该行
答案 1 :(得分:1)
我收到了这个错误,我尝试了Manuel和Aulait的修复,但都没有为我工作。在我恢复到之前的一些变化之后,我注意到super需要括号,无论你是否传递任何内容。
def initialize(x, view)
super()
@x = x
end
我最终需要做的就是解决问题!祝你好运:)
答案 2 :(得分:0)
我不知道为什么,但是当我的InvoicePdf继承自Prawn :: Document时,它在初始化时发送参数时导致了这个错误。
我通过删除继承,并使用带有get方法的实例变量解决了这个问题,但不是最好但是有效。
最终代码:
class InvoicePdf
def initialize(invoice, view)
@doc = Prawn::Document.new
end
def getDoc
return @doc
end
end