Carrierwave, Sequel, Sinatra, импорт через irb, обновление

Это двухуровневая проблема, надеюсь, первая решит вторую.

  1. Я хотел бы иметь возможность сохранить новый объект через скрипт с чем-то вроде

    @file = File.open("/path/to/image.png")
    @user = User.new(:name => "SomeName", :avatar => @file)
    @user.save
    

    Но, к сожалению, он отвечает только

    #<User @values={:name =>"SomeName"}>
    

    поэтому я попытался:

    @user = User.new(:name => "SomeName", :avatar => "/path/to/image.png")
    

    но я получил:

    CarrierWave::FormNotMultipart: CarrierWave::FormNotMultipart
    

    Мне нужно, чтобы скрипт работал, потому что мне нужно импортировать несколько тысяч пользователей :S

    Это работает ОТЛИЧНО, только когда новый пользователь и аватар публикуются через HTML-форму, но не при обновлении, которое приводит меня к...

  2. Когда пользователь существует, я не могу изменить аватар, просто выполнив в своем контроллере

    @user.update(params[:user])
    

Я предполагаю, что проблема в том, что я не говорю перевозчику все, что ему нужно.


person Community    schedule 11.09.2012    source источник


Ответы (1)


Итак, это старо. Но все же, надеюсь, что это кому-то поможет:

@user.update(params[:user])
@user.save

ЗАПУСТИТЕ СОХРАНЕНИЕ после обновления. Вот и все!

person Community    schedule 31.03.2013