我是Rails的新手,我正在运行Rails 3 我最近通过Homebrew安装了ImageMagick然后运行'sudo plugin install git://github.com/thoughtbot/paperclip.git'
我在我的root Gemfile中添加了“gem'rmagick'”。
这样做之后我立即发现没有rails命令工作了(下面的错误)。我尝试将“config.gem”rmagick“,:lib =>”RMagick“”添加到我的environment.rb中,正如其他一些线程建议的那样,但这会返回一个不同的错误(未定义的局部变量或方法`config'for main:Object (NameError))
有什么想法吗?
/opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require': no such file to load -- cocaine (LoadError)
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/vendor/plugins/paperclip/lib/paperclip.rb:43
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/vendor/plugins/paperclip/lib/paperclip/railtie.rb:1
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in `load_dependency'
from /opt/local/lib/ruby/gems/1.8/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/vendor/plugins/paperclip/rails/init.rb:1
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/plugin.rb:81
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:25:in `instance_exec'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:25:in `run'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:50:in `run_initializers'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:49:in `each'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/initializable.rb:49:in `run_initializers'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:134:in `initialize!'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `send'
from /opt/local/lib/ruby/gems/1.8/gems/railties-3.0.7/lib/rails/application.rb:77:in `method_missing'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config/environment.rb:5
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:3:in `require'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:3
from /opt/local/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `instance_eval'
from /opt/local/lib/ruby/gems/1.8/gems/rack-1.2.3/lib/rack/builder.rb:46:in `initialize'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:1:in `new'
from /Users/tonybeninate/Documents/Apps/PhotoBlog/config.ru:1
答案 0 :(得分:3)
我克隆了您的仓库并运行了应用程序,但没有收到任何错误。您是否尝试过将paperclip安装为gem而不是插件?
这是我在我的一个应用程序中使用的设置(使用Amazon S3进行存储):
# Gemfile
gem 'paperclip'
gem 'aws-s3'
#MyModel migration
class MyModel < ActiveRecord::Migration
def self.up
create_table :my_model do |t|
t.string :name
t.text :description
t.string :image_file_name
t.string :image_content_type
t.integer :image_file_size
t.datetime :image_updated_at
t.timestamps
end
end
end
#MyModel.rb
has_attached_file :image,
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/amazons3.yml",
:path => "pictures/:id.:extension"
#config/amazons3.yml
development:
access_key_id: MY_ACCESS_KEY_ID
secret_access_key: MY_SECRET_KEY
bucket: myBucket
test:
access_key_id: MY_ACCESS_KEY_ID
secret_access_key: MY_SECRET_KEY
bucket: myBucket
production:
access_key_id: MY_ACCESS_KEY_ID
secret_access_key: MY_SECRET_KEY
bucket: myBucket
#app/views/my_model/_form.html.haml
= form_for @my_model_instance, :html => {:multipart => true} do |f|
%fieldset
= f.label :name
= f.text_field :name
%fieldset
= f.label 'Attach Image'
= f.file_field :image
%fieldset
= f.label :description
= f.text_area :description
%fieldset
= f.submit 'Save', :class => 'button'
答案 1 :(得分:0)
如果您在开发模式下运行会出现错误,请在终端rails s
中写入此内容以运行开发模式
这个
:s3_credentials => "#{RAILS_ROOT}/config/amazons3.yml",
更改为,以便正确使用Rails 3
:s3_credentials => "#{Rails.root}/config/amazons3.yml",