2015-11-13 162 views
0

上訪問回形針模塊方法,我希望訪問有權訪問我的Rails應用程序配置的S3桶s3_bucket方法。軌控制檯

綜觀回形針源代碼我可以看到,是下回形針::存儲:: S3(source code)模塊。

config/environments/development.rb

我已經在每個環境中配置回形針

config.paperclip_defaults = { 
    :storage => :s3, 
    # :s3_host_name => 'REMOVE_THIS_LINE_IF_UNNECESSARY', 
    :bucket => 'educartis-development', 
    s3_host_alias: "educartis-production.s3.amazonaws.com", 
    url: ":s3_alias_url" 
    } 

而這就是我從bundle exec rails c嘗試:

irb(main):008:0> Paperclip::Storage::S3.bucket_name 
NoMethodError: undefined method `bucket_name' for Paperclip::Storage::S3:Module 
    from (irb):8 
    from /Library/Ruby/Gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/console.rb:110:in `start' 
    from /Library/Ruby/Gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in `start' 
    from /Library/Ruby/Gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console' 
    from /Library/Ruby/Gems/2.0.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
    from /Library/Ruby/Gems/2.0.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require' 
    from /Users/borjagvo/MyStuff/webdev/Work/Gemfeed/dev/repos/educartis/bin/rails:8:in `<top (required)>' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `block in load' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency' 
    from /Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/commands/rails.rb:6:in `call' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/command_wrapper.rb:38:in `call' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application.rb:183:in `block in serve' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application.rb:156:in `fork' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application.rb:156:in `serve' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application.rb:131:in `block in run' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application.rb:125:in `loop' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application.rb:125:in `run' 
    from /Library/Ruby/Gems/2.0.0/gems/spring-1.4.0/lib/spring/application/boot.rb:18:in `<top (required)>' 
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require' 

爲什麼給undefined

回答

0

它看起來像你這樣複製從某處在互聯網上,包括他們的提示(它窒息的pry(main)>部分)。當您啓動控制檯,只需輸入:

Paperclip::Storage::S3.bucket_name 

已完成提示的話,應該是這樣的:

irb(main):004:0> Paperclip::Storage::S3.bucket_name 
+0

抱歉,但它是我的。我通常使用Pry。我編輯它的運行結果沒有Pry。 – borjagvo

+0

@borjagvo你如何配置Paperclip?它是全局配置還是每個模型? – Undo

+0

剛剛編輯了關於它的更多細節的問題。 – borjagvo