gpt4 book ai didi

ruby-on-rails - 在 Rails 3 中使用 MongoMapper 的回形针

转载 作者:行者123 更新时间:2023-12-04 10:16:51 24 4
gpt4 key购买 nike

我正在尝试在我的第一个 Rails 应用程序中实现 Paperclip,而我恰好将 Rails 3 和 mongodb 与 mongomapper 一起使用。

我关注了this guide共同努力实现目标

正如博客文章所建议的那样,我已将回形针放入 config/initializers 目录中,我安装了 gem,gem 在 gemfile 中(右 rails 3),我运行了 bundler 。

在我的用户类中,我添加了

require 'paperclip'

当我加载应用程序时,出现以下错误,

undefined method 'has_attached_file' for User:Class

回形针文件看起来像这样

module Paperclip  module ClassMethods    def has_attached_file name, options = {}      include InstanceMethods      write_inheritable_attribute(:attachment_definitions, {}) if attachment_definitions.nil?      attachment_definitions[name] = {:validations => []}.merge(options)      after_save :save_attached_files      before_destroy :destroy_attached_files      define_callbacks :before_post_process, :after_post_process      define_callbacks :"before_#{name}_post_process", :"after_#{name}_post_process"      define_method name do |*args|        a = attachment_for(name)        (args.length > 0) ? a.to_s(args.first) : a      end      define_method "#{name}=" do |file|        attachment_for(name).assign(file)      end      define_method "#{name}?" do        attachment_for(name).file?      end      validates_each name, :logic => lambda {        attachment = attachment_for(name)        attachment.send(:flush_errors) unless attachment.valid?      }    end  end  module Interpolations    # Handle string ids (mongo)    def id_partition attachment, style      if (id = attachment.instance.id).is_a?(Integer)        ("%09d" % id).scan(/\d{3}/).join("/")      else        id.scan(/.{3}/).first(3).join("/")      end    end  endend

对我可能做错了什么有什么建议吗?我的步骤正确吗?

最佳答案

从 MongoMapper 0.11.0、Paperclip 2.5.2 和 Rails 3.0.4 开始,您只需要:

#your model
require 'paperclip'

class User
include MongoMapper::Document
include Paperclip::Glue

has_attached_file :avatar

key :avatar_file_name, String
end

您不再需要回形针初始化程序。

关于ruby-on-rails - 在 Rails 3 中使用 MongoMapper 的回形针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3348647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com