Rails 3 установил скрепку - PullRequest
3 голосов
/ 06 июня 2011

Я очень новичок в Rails, я использую Rails 3, я недавно установил ImageMagick через Homebrew и затем запустил 'sudo plugin install git: //github.com/thoughtbot/paperclip.git'

Я добавил"gem 'rmagick'" в мой корневой Gemfile.

Сразу после этого я обнаружил, что команды rails больше не работают (ошибка ниже).Я попытался добавить "config.gem" rmagick ",: lib =>" RMagick "" в мой environment.rb, как предлагали некоторые другие потоки, но это возвращает другую ошибку (неопределенная локальная переменная или метод `config 'для 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

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

Я клонировал ваш репозиторий и запустил приложение, но не получил ни одной из этих ошибок. Вы пытались установить скрепку в качестве драгоценного камня вместо плагина?

Это настройка, с которой я работаю в одном из моих приложений (использую 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'
0 голосов
/ 30 января 2013

Если вы работаете в режиме разработки, вы получаете сообщение об ошибке, напишите это в терминале rails s, чтобы запустить режим разработки

это

 :s3_credentials => "#{RAILS_ROOT}/config/amazons3.yml",

изменить для корректной работы с Rails 3

:s3_credentials => "#{Rails.root}/config/amazons3.yml",
...