Rails 4 with prawn:无法写入未知属性`info`

时间:2015-10-09 17:23:34

标签: ruby-on-rails prawn

我有同样的问题: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的先前定义在这里

是否可以将我卸载并重新安装错误?

由于

3 个答案:

答案 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