Nie mogę użyć atrybutu model.update_attribute na atrybucie, który jest montowany przez program wysyłający carrierwave. Instrukcja SQL nie przyjmuje wartości i dodaje NULL do elementu zastępczego. Jeśli usuniemy instrukcję mount_uploader z klasy modelu, to działa ona normalnie. Zajmuję się rozwiązywaniem problemów z konsoli i próbuję dodać pewne atrybuty podczas rozsiewania bazy danych, a to przeszkadza moim staraniom. Pomysły?Ręczne aktualizowanie atrybutów zainstalowanych przez program ładujący Carrierwave
Dzięki.
Aktualizacja: odpowiedni kod:
class Profile < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :sports
has_and_belongs_to_many :interests
has_and_belongs_to_many :minors
has_and_belongs_to_many :majors
has_and_belongs_to_many :events
has_and_belongs_to_many :groups
attr_accessible :description, :username, :avatar, :bio, :first_name, :last_name, :major, :minor, :graduation_date, :living_situation, :phone, :major_ids, :minor_ids, :sport_ids
mount_uploader :avatar, AvatarUploader
end
Ja po prostu próbuje przepisać Avatar ciąg z pliku db nasion i podczas testowania z konsoli szyn tak: Profile.first.update_attribute (: awatar, "foo")
Oba działają, gdy skomentuję linię mount_uploader.
Czy dodanie metody mount_uploader powoduje zatrzymanie łańcucha lub uczynienie go niezmiennym?
Byłoby pomocne, jeśli pisać kod, który próbujesz uruchomić. Jaką wartość próbujesz ustawić dla atrybutu? – lmars