我正在尝试在我的RoR应用中附加文件。我正在使用Rails 2.0.2和Ruby 1.8.7来实现项目特定目的。我使用的是Ubuntu 10.04操作系统。
我已经尝试了两个插件(paperclip和attachment_fu),但到目前为止我还没有运气。我基本上面临兼容性问题,因为我现在使用的配置现在几乎没有使用。
请仔细查看这些网址,以便更好地了解我目前面临的问题: -
Undefined method `has_attached_file' with paperclip 2.3.8 gem for Rails 2 using Ruby 1.8.7
https://stackoverflow.com/questions/6000588/issues-with-attachment-fu-plugin-in-rails-2
如果你可以帮助我解决这些问题,那就太棒了。
此外,根据上述配置,您能否建议我可以使用插件或宝石来附加我的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 >
您的建议真有帮助,
谢谢..
答案 0 :(得分:1)
如果您使用的是较旧版本的Rails,您可能会面临严重的安全漏洞,因此如果您可以进行升级,那么即使只是针对2.0.x系列中的另一个版本,您也应该这样做。 / p>
话虽这么说,你总是可以安装那个时代的paperclip
版本。据我所知,较新版本仅支持2.3或更高版本。
github上托管的任何项目都将具有完整版本历史记录,因此您可以将项目回放到适合您的特定修订版本。 git bisect
工具非常适合处理此类事情。