为 Spree 订单添加回形针附件 Table,
Adding Paperclip Attachment to Spree Orders Table,
我正在使用 Solidus 开发电子商务网站,Rails。该站点允许您从各种选项中订购相框和印刷品。
要打印照片,用户必须上传照片的 jpg 文件。因此,为了允许我修改订单 table 并添加了一个名为 'attachment'
的回形针附件
我运行以下命令
rails generate paperclip SpreeOrder attachment
它生成了迁移,然后我 运行 rake db:migrate
然后我创建了一个spree/order_decorator.rb文件,并添加了has_attached_file
module Spree::OrderDecorator
has_attached_file :attachment, styles: {
:medium => {
:geometry => "640x480",
:format => 'jpeg'
},
:thumb => { :geometry => "160x120", :format => 'jpeg', :time => 10}
}, :processors => [:transcoder]
validates_attachment_content_type :attachment, content_type: /\Aimage\/.*\z/
Spree::Order.prepend self
end
在此之后我 运行 服务器,并最终收到此错误
undefined method `has_attached_file' for Spree::OrderDecorator:Module (NoMethodError)
我已经将 solidus 配置为仅与回形针一起使用,所以我真的很困惑为什么会出现此错误,甚至后来我手动去 paperclip.rb 文件中生成了 config/initializers目录,但我仍然得到同样的错误。
请帮忙解决这个!!
谢谢!!
您应该在前置模块的 class 级别添加回形针方法:
def self.prepended(base)
base.has_attached_file
end
我正在使用 Solidus 开发电子商务网站,Rails。该站点允许您从各种选项中订购相框和印刷品。 要打印照片,用户必须上传照片的 jpg 文件。因此,为了允许我修改订单 table 并添加了一个名为 'attachment'
的回形针附件我运行以下命令
rails generate paperclip SpreeOrder attachment
它生成了迁移,然后我 运行 rake db:migrate
然后我创建了一个spree/order_decorator.rb文件,并添加了has_attached_file
module Spree::OrderDecorator
has_attached_file :attachment, styles: {
:medium => {
:geometry => "640x480",
:format => 'jpeg'
},
:thumb => { :geometry => "160x120", :format => 'jpeg', :time => 10}
}, :processors => [:transcoder]
validates_attachment_content_type :attachment, content_type: /\Aimage\/.*\z/
Spree::Order.prepend self
end
在此之后我 运行 服务器,并最终收到此错误
undefined method `has_attached_file' for Spree::OrderDecorator:Module (NoMethodError)
我已经将 solidus 配置为仅与回形针一起使用,所以我真的很困惑为什么会出现此错误,甚至后来我手动去 paperclip.rb 文件中生成了 config/initializers目录,但我仍然得到同样的错误。
请帮忙解决这个!! 谢谢!!
您应该在前置模块的 class 级别添加回形针方法:
def self.prepended(base)
base.has_attached_file
end