请建议使用适当的附件插件/ gem与Rails 2.0.2和Ruby 1.8.7一起使用

时间:2011-05-18 13:49:11

标签: ruby-on-rails ruby-on-rails-plugins

我正在尝试在我的RoR应用中附加文件。我正在使用Rails 2.0.2和Ruby 1.8.7来实现项目特定目的。我使用的是Ubuntu 10.04操作系统。

我已经尝试了两个插件(paperclip和attachment_fu),但到目前为止我还没有运气。我基本上面临兼容性问题,因为我现在使用的配置现在几乎没有使用。

请仔细查看这些网址,以便更好地了解我目前面临的问题: -

  1. Undefined method `has_attached_file' with paperclip 2.3.8 gem for Rails 2 using Ruby 1.8.7

  2. https://stackoverflow.com/questions/6000588/issues-with-attachment-fu-plugin-in-rails-2

  3. 如果你可以帮助我解决这些问题,那就太棒了。

    此外,根据上述配置,您能否建议我可以使用插件或宝石来附加我的rails应用程序中的文件。

    [编辑问题]

    我还想补充一下,我试过了paperclip 2.1.2 gem,但它似乎没有通过IRB检测到。我不知道这些信息会产生多大的不同,但我想补充一点,我也在使用RVM并与我一起使用另一个ruby 1.9.2。

    虽然安装了paperclip gem并显示在我的ruby gems列表中,但我想知道为什么当我通过IRB执行require 'paperclip'时,我得到一个null('[]')。 / p>

    mohnish@mohnish-desktop:~/UP/pocs_tried_for_use/post_with_image$ gem list
    
    *** LOCAL GEMS ***
    
    aasm (2.2.0, 2.1.1)
    action_profiler (1.0.0)
    actionmailer (2.3.5, 2.0.2)
    actionpack (2.3.5, 2.0.2)
    activerecord (2.3.5, 2.0.2)
    activeresource (2.3.5, 2.0.2)
    activesupport (3.0.0, 2.3.5, 2.0.2)
    acts_as_reportable (1.1.1)
    aws-s3 (0.6.2)
    builder (2.1.2)
    cgi_multipart_eof_fix (2.5.0)
    color (1.4.1)
    contacts (1.2.4)
    daemons (1.1.0)
    fastercsv (1.5.3)
    fastthread (1.0.7)
    ferret (0.11.6)
    gdata (1.1.1)
    gem_plugin (0.2.3)
    gettext (2.1.0)
    hoe (2.6.2)
    hpricot (0.8.3, 0.8.2)
    httpclient (2.1.5.2)
    image_science (1.2.1)
    json (1.4.6)
    json_pure (1.4.6)
    locale (2.0.5)
    log4r (1.1.8)
    macaddr (1.0.0)
    mechanize (1.0.0)
    memcache-client (1.8.5)
    mime-types (1.16)
    mocha (0.9.8)
    mongrel (1.1.5)
    mysql (2.8.1)
    nokogiri (1.4.3.1)
    paperclip (2.1.2)
    passenger (2.2.4)
    pdf-writer (1.1.8)
    prawn (0.8.4)
    prawn-core (0.8.4)
    prawn-layout (0.8.4)
    prawn-security (0.8.4)
    rack (1.0.1)
    railroad (0.5.0)
    rails (2.0.2)
    rake (0.8.7)
    RedCloth (3.0.3)
    rfacebook (0.9.8, 0.9.0)
    rmagick (2.9.1)
    ruby-activeldap (0.8.3.1)
    ruby-net-ldap (0.0.4)
    ruby-openid (2.1.8, 2.0.2)
    rubyforge (2.0.4)
    rubygems-update (1.3.7)
    ruport (1.6.3)
    scrubyt (0.4.06)
    tinyurl (1.0.0)
    transaction-simple (1.4.0)
    uuid (2.3.1)
    xml-simple (1.0.12)
    mohnish@mohnish-desktop:~/pocs_tried_for_use/post_with_image$ ruby script/console
    Loading development environment (Rails 2.0.2)
    ruby-1.8.7-p334 :001 > require 'paperclip'
     => [] 
    ruby-1.8.7-p334 :002 > 
    

    您的建议真有帮助,

    谢谢..

1 个答案:

答案 0 :(得分:1)

如果您使用的是较旧版本的Rails,您可能会面临严重的安全漏洞,因此如果您可以进行升级,那么即使只是针对2.0.x系列中的另一个版本,您也应该这样做。 / p>

话虽这么说,你总是可以安装那个时代的paperclip版本。据我所知,较新版本仅支持2.3或更高版本。

github上托管的任何项目都将具有完整版本历史记录,因此您可以将项目回放到适合您的特定修订版本。 git bisect工具非常适合处理此类事情。