Я пытаюсь добавить PDF-образование через креветку в мое приложение Rails 3. Я следую Railscast, и все идет хорошо, пока я не попытаюсь передать переменную экземпляра из моего контроллера в отдельный класс, который я создал.DEPRECATION WARNING: вы пытаетесь создать атрибут `info ', в Rails 3.2.8
действиеКонтроллер выглядит следующим образом:
def show #shows some material
@material = Material.find(params[:id])
respond_to do |format|
format.html
format.pdf do
pdf = MaterialPdf.new(@material)
send_data pdf.render, filename: "material_#{@material.id}.pdf",
type: "application/pdf",
disposition: "inline"
end
end
конец
и файл material_pdf.rb выглядит следующим образом:
class MaterialPdf < Prawn::Document
def initialize(material)
super
@material = material
text "Placeholder text"
end
end
Сообщение об ошибке я получаю из журнала является странным:
Material Load (0.1ms) SELECT "materials".* FROM "materials" WHERE "materials"."id" = ? ORDER BY materials.created_at DESC LIMIT 1 [["id", "27"]]
DEPRECATION WARNING: You're trying to create an attribute `info'. Writing arbitrary attributes on a model is deprecated. Please just use `attr_writer` etc. (called from initialize at .../app/pdfs/material_pdf.rb:3)
Это странно, потому что запрос выглядит отлично, и я НЕ пытаюсь создать атрибут «информация». Я не понимаю. Помогите.
Спасибо большое. Это сработало! – Finnjon