Próbuję dodać dwa różne pola załączników. Migracja przebiega niepomyślnie, uruchamiam ją za pomocą pakietu bundler lub bez niego. (pakiet exec rake db: migracja lub po prostu rake db: migrate).Dlaczego funkcja db: migrate kończy się niepowodzeniem, gdy próbuję dodać pola załącznika do spinacza?
== AddDiagramToQuestion: migrating ===========================================
-- change_table(:questions)
rake aborted!
An error has occurred, this and all later migrations canceled:
undefined method `has_attached_file' for #<ActiveRecord::ConnectionAdapters::Table:0x0000012b003b20>
/Users/kboon/Documents/workspace/quiztaker/db/migrate/20111213182927_add_diagram_to_question.rb:6:in `block in up'
/Users/kboon/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:244:in `change_table'
Migracja wygląda następująco:
class AddDiagramToAnswer < ActiveRecord::Migration
def self.up
change_table :answers do |t|
t.has_attached_file :diagram
end
end
def self.down
drop_attached_file :answers, :diagram
end
end
Model odwołuje się też metody dodane przez spinacza i aplikacja działa poprawnie, więc nie jest tak spinacza nie jest zainstalowany na wszystkich. Próbowałem nawet dodać "spinacz papieru" do migracji, ale to wcale nie pomogło.
to klejnot spinacza w twoim 'Gemfile'? – davidb
Tak, powinienem był to wyraźnie powiedzieć. has_attached_file działa dobrze w moich modelach również –
jakiej wersji spinacza używasz? –