[Upload zdjęć] Kod uploadu

Mam ogromną prośbę do użytkowników, którzy zapewne wykorzystywali już w swoich projektach upload zdjęć o udostępnienie kodu takiego modułu.
W bazie chciałbym zapisywać informacje o zdjęciach a zdjęcia powinny być przetrzymywane w katalogu na FTP.

Będę wdzięczny za udostępnienie kodu takiego upload’u lub wskazanie jakiegoś gotowego rozwiązania.
Mile widziana implementacja ograniczająca rozmiar dodawanych obrazków lub najlepiej przycinanie ich do odpowiedniego rozmiaru.
Z góry bardzo dziękuje.

Znakomicie nadaje sie do tego plugin paperclip: http://github.com/thoughtbot/paperclip/tree/master

A co do FTP to czysta “adminka”, ustawienia serwera ftp.

oki: używasz gdzieś (w projekcie który jest online) paperclipa?

Tak

mozna tez uzyc attechment_fu z jakims narzedziem do grafiki i tam wtedy juz latwo napisac ile i czego ma robic z obrazkami

Paperclip chyba najlepszy, ja osobiście polecam. Ma tą gigantyczną przewagę, że nie trzeba tworzyć osobnych modeli, a jeśli się chce to nie psuje się od dodania pól w migracji, attachment_fu jeśli chcesz rozwinąć o przypuścmy parent_type padnie walnie i np. nie będzie tworzył miniatur. Paperclip jest znacznie bardziej elastyczny.

a tu masz opis
i tu lepszy

To akurat zależy od zastosowania. Czasami lepiej jest właśnie mieć osobny model np. jak robisz galerie zdjęć. Paperclip lepiej się nadaje jak masz jakiś model, do którego chcesz dołączyć 1 zdjęcie albo ogólnie jakiś załącznik.

A tak wogóle to i tak wszędzie używam Paperclip :slight_smile:

Podpiszę się pod tym co napisał ronin.

Nie ma czegoś takiego jak najlepsze narzędzie - każde narzędzie powinno być dobierane w zależności od potrzeb. Paperclip jest fajny na przykład do avatarów, ale jak ktoś chce podpiąć coś innego niż rmagick albo wrzucić inny backend (amazon?) to musiałby sam hackować plugin. Z tego co zauważyłem to attachemnt_fu ma też dużo bardziej rozwinięty system callbacków.

nie będę się kłócił, bo wiece lepiej, jestem jednak zdania, że jak coś oferuje tą samą funkcjonalność a jest bardziej elastyczne - to jest lepsze.

a tu amazon:

aws_s3.yml

development: access_key_id: YOUR_AMAZON_ACCESS_KEY secret_access_key: YOUR_AMAZON_SECRET_ACCESS_KEY
model

has_attached_file :avatar, :path => "uploads/:attachment/:id", :storage => "s3", :s3_credentials => "#{RAILS_ROOT}/config/aws_s3.yml", :bucket => "YOUR_AMAZON_BUCKET"
wyniesione stąd

używam paperclipa do podpinania wszystkiego (pdf, doc i masa innych) wszystko świetnie gra.

Zainstalowałem Paperclip i Imagemagic. Niestety otrzymuje komunikat błedu:

NoMethodError in ZdjeciasController#new

undefined method `has_attached_file’ for #Class:0x7f4ad7b43ec0

RAILS_ROOT: /home/cojest/rails/upload
Application Trace | Framework Trace | Full Trace

/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in method_missing' app/models/zdjecia.rb:4 app/controllers/zdjecias_controller.rb:27:innew’

/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in method_missing' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:382:inload_without_new_constant_marking’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:382:in load_file' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:521:innew_constants_in’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:381:in load_file' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:256:inrequire_or_load’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:427:in load_missing_constant' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:77:inconst_missing’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:89:in const_missing' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:95:insend’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:95:in const_missing' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:insend’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in perform_action_without_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:617:incall_filters’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:610:in perform_action_without_benchmark' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:68:inperform_action_without_rescue’
/usr/local/lib/ruby/1.8/benchmark.rb:293:in measure' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:68:inperform_action_without_rescue’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/rescue.rb:136:in perform_action_without_caching' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/caching/sql_cache.rb:13:inperform_action’
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in cache' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/query_cache.rb:8:incache’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/caching/sql_cache.rb:12:in perform_action' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:524:insend’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:524:in process_without_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:606:inprocess_without_session_management_support’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/session_management.rb:134:in process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:392:inprocess’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:183:in handle_request' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:110:indispatch_unlocked’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:123:in dispatch' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:insynchronize’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:in dispatch' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:132:indispatch_cgi’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:39:in `dispatch’
rails.dispatch.cgi:12

/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in method_missing' app/models/zdjecia.rb:4 /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:382:inload_without_new_constant_marking’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:382:in load_file' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:521:innew_constants_in’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:381:in load_file' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:256:inrequire_or_load’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:427:in load_missing_constant' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:77:inconst_missing’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:89:in const_missing' /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:95:insend’
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:95:in const_missing' app/controllers/zdjecias_controller.rb:27:innew’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in send' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:inperform_action_without_filters’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:617:in call_filters' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:610:inperform_action_without_benchmark’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:68:in perform_action_without_rescue' /usr/local/lib/ruby/1.8/benchmark.rb:293:inmeasure’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/benchmarking.rb:68:in perform_action_without_rescue' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/rescue.rb:136:inperform_action_without_caching’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/caching/sql_cache.rb:13:in perform_action' /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:34:incache’
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/query_cache.rb:8:in cache' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/caching/sql_cache.rb:12:inperform_action’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:524:in send' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:524:inprocess_without_filters’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:606:in process_without_session_management_support' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/session_management.rb:134:inprocess’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:392:in process' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:183:inhandle_request’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:110:in dispatch_unlocked' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:123:indispatch’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:in synchronize' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:122:indispatch’
/usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:132:in dispatch_cgi' /usr/local/lib/ruby/gems/1.8/gems/actionpack-2.2.2/lib/action_controller/dispatcher.rb:39:indispatch’
rails.dispatch.cgi:12

Request

Parameters:

None

Show session dump


flash: !map:ActionController::Flash::FlashHash {}

Response

Headers:

{“Content-Type”=>"",
“cookie”=>[],
“Cache-Control”=>“no-cache”}

Nie mam pojęcia co robię nie tak. Proszę o poradę / pomoc.

app/models/zdjecia.rb:4
app/controllers/zdjecias_controller.rb:27:in `new’

Wklej te pliki

Tak sie podepnę pod wątek :wink: Również mam undefined method `has_attached_file’ for Artist:Class.

[code=ruby]class Artist < ActiveRecord::Base
has_many :discs

Paperclip

has_attached_file :photo,
:styles => {
:thumb=> “200x200#”,
:small => “450x450>” }
end[/code]
Aplikacja napisana jest w 1.2.6 i czy czasami Paperclip nie wymaga >= 2.0.0? paperclip instalowałem gemem.

[quote=psihae]Tak sie podepnę pod wątek :wink: Również mam undefined method `has_attached_file’ for Artist:Class.
Aplikacja napisana jest w 1.2.6 i czy czasami Paperclip nie wymaga >= 2.0.0? paperclip instalowałem gemem.[/quote]
Hmm, niech zgadnę… albo nie…
trochę mało informacji, prosimy o log plus warto przeczytać post Tomasha w tym wątku.
W między czasie, możesz poczytać również pierwsze wyniki z googla:
http://groups.google.com/group/paperclip-plugin/browse_thread/thread/d9e374a131c879e9

http://groups.google.com/group/paperclip-plugin/browse_thread/thread/9ae5e27f4ecf4945

pozdrawiam

[code] NoMethodError in ArtistsController#list

undefined method `has_attached_file’ for Artist:Class

RAILS_ROOT: ./script/…/config/…
Application Trace | Framework Trace | Full Trace

/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.6/lib/active_record/base.rb:1238:in method_missing' /home/piotr/NetBeansProjects/baza-multimedia-ror/app/models/artist.rb:4 /home/piotr/NetBeansProjects/baza-multimedia-ror/app/controllers/artists_controller.rb:12:inlist’

/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.6/lib/active_record/base.rb:1238:in method_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:203:inload_without_new_constant_marking’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:203:in load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:innew_constants_in’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:202:in load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:94:inrequire_or_load’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:248:in load_missing_constant' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:452:inconst_missing’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:464:in const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/inflector.rb:250:inconstantize’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/core_ext/string/inflections.rb:148:in constantize' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/pagination.rb:201:inpaginator_and_collection_for’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/pagination.rb:132:in paginate_without_deprecation' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/deprecation.rb:94:inpaginate’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:1101:in send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:1101:inperform_action_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/filters.rb:696:in call_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/filters.rb:688:inperform_action_without_benchmark’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/benchmarking.rb:66:in perform_action_without_rescue' /usr/lib/ruby/1.8/benchmark.rb:293:inmeasure’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/benchmarking.rb:66:in perform_action_without_rescue' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/rescue.rb:83:inperform_action’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:435:in send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:435:inprocess_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/filters.rb:684:in process_without_session_management_support' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/session_management.rb:114:inprocess’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:334:in process' /usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/dispatcher.rb:41:indispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/webrick_server.rb:113:in handle_dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/webrick_server.rb:79:inservice’
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:65:inrun’
/usr/lib/ruby/1.8/webrick/server.rb:173:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:162:instart’
/usr/lib/ruby/1.8/webrick/server.rb:162:in start_thread' /usr/lib/ruby/1.8/webrick/server.rb:95:instart’
/usr/lib/ruby/1.8/webrick/server.rb:92:in each' /usr/lib/ruby/1.8/webrick/server.rb:92:instart’
/usr/lib/ruby/1.8/webrick/server.rb:23:in start' /usr/lib/ruby/1.8/webrick/server.rb:82:instart’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/webrick_server.rb:63:in dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/commands/servers/webrick.rb:59 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require’
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:inrequire’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:in new_constants_in' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:inrequire’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/commands/server.rb:39
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire’
script/server:3

/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.6/lib/active_record/base.rb:1238:in method_missing' /home/piotr/NetBeansProjects/baza-multimedia-ror/app/models/artist.rb:4 /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:203:inload_without_new_constant_marking’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:203:in load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:innew_constants_in’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:202:in load_file' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:94:inrequire_or_load’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:248:in load_missing_constant' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:452:inconst_missing’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:464:in const_missing' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/inflector.rb:250:inconstantize’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/core_ext/string/inflections.rb:148:in constantize' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/pagination.rb:201:inpaginator_and_collection_for’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/pagination.rb:132:in paginate_without_deprecation' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/deprecation.rb:94:inpaginate’
/home/piotr/NetBeansProjects/baza-multimedia-ror/app/controllers/artists_controller.rb:12:in list' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:1101:insend’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:1101:in perform_action_without_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/filters.rb:696:incall_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/filters.rb:688:in perform_action_without_benchmark' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/benchmarking.rb:66:inperform_action_without_rescue’
/usr/lib/ruby/1.8/benchmark.rb:293:in measure' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/benchmarking.rb:66:inperform_action_without_rescue’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/rescue.rb:83:in perform_action' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:435:insend’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:435:in process_without_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/filters.rb:684:inprocess_without_session_management_support’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/session_management.rb:114:in process' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.6/lib/action_controller/base.rb:334:inprocess’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/dispatcher.rb:41:in dispatch' /usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/webrick_server.rb:113:inhandle_dispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/webrick_server.rb:79:in service' /usr/lib/ruby/1.8/webrick/httpserver.rb:104:inservice’
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in run' /usr/lib/ruby/1.8/webrick/server.rb:173:instart_thread’
/usr/lib/ruby/1.8/webrick/server.rb:162:in start' /usr/lib/ruby/1.8/webrick/server.rb:162:instart_thread’
/usr/lib/ruby/1.8/webrick/server.rb:95:in start' /usr/lib/ruby/1.8/webrick/server.rb:92:ineach’
/usr/lib/ruby/1.8/webrick/server.rb:92:in start' /usr/lib/ruby/1.8/webrick/server.rb:23:instart’
/usr/lib/ruby/1.8/webrick/server.rb:82:in start' /usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/webrick_server.rb:63:indispatch’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/commands/servers/webrick.rb:59
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:inrequire’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in require' /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:342:innew_constants_in’
/usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/dependencies.rb:495:in require' /usr/lib/ruby/gems/1.8/gems/rails-1.2.6/lib/commands/server.rb:39 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require’
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require’
script/server:3

Request

Parameters: None

Show session dump


:user_id: 3
flash: !map:ActionController::Flash::FlashHash {}

Response
Headers: {“cookie”=>[], “Cache-Control”=>“no-cache”}[/code]

[code=ruby]class Artist < ActiveRecord::Base
has_many :discs

Paperclip

has_attached_file :photo,
:styles => {
:thumb=> “200x200#”,
:small => “450x450>” }
end[/code]

[code=ruby]class AddPhotoToArtist < ActiveRecord::Migration
def self.up
add_column :artists, :photo_file_name, :string # Original filename
add_column :artists, :photo_content_type, :string # Mime type
add_column :artists, :photo_file_size, :integer # File size in bytes
end

def self.down
remove_column :artists, :photo_file_name
remove_column :artists, :photo_content_type
remove_column :artists, :photo_file_size
end
end[/code]

[code=ruby]class ArtistsController < ApplicationController
def index
list
render :action => ‘list’
end

GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)

verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }

def list
@artist_pages, @artists = paginate :artists, :per_page => 10, :order => ‘Nazwa’
@nazwa = “Nazwa”
end
…[/code]

[code=bash][piotr@myhost ~]$ gem list --local

*** LOCAL GEMS ***

actionmailer (2.2.2, 1.3.6)
actionpack (2.2.2, 1.13.6)
actionwebservice (1.2.6)
activerecord (2.2.2, 1.15.6)
activeresource (2.2.2)
activesupport (2.2.2, 1.4.4)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10)
fastthread (1.0.1)
gem_plugin (0.2.3)
mongrel (1.1.5)
paperclip (2.1.2)
rails (2.2.2, 1.2.6)
rake (0.8.3)
[piotr@myhost ~]$[/code]

podpinam się pod ten temat ten sam problem :confused:

często method_missing wynika z tego że nie zapodaliśmy w formularzach :html => { :multipart => true }
ale u Was nie wiem bo nie zapodaliście widoków :wink: