Я только что закончил создание простой Carrierwave системы загрузки файлов (с помощью примера на http://railscasts.com/episodes/253-carrierwave-file-uploads)Формы для загрузки изображений с помощью Carrierwave
Вот моя модель:
require 'carrierwave/orm/activerecord'
class Video < ActiveRecord::Base
attr_accessible :course, :qa_complete, :qa_id, :subject, :title,
:translate_complete, :translator_id, :type_complete, :typer_id, :video_id, :due_date, :translation_handwritten
validates :video_id, :presence => true, :uniqueness => true #add uniqueness in db too
mount_uploader :translation_handwritten, TranslationsUploader
end
Вот мой взгляд формы:
<%= form_for @video, :html => {:multipart => true} do |f| %>
<p>
<%= f.file_field :translation_handwritten %>
</p>
<p><%= f.submit :Upload %></p>
<% end %>
Вот мой загрузчик:
class TranslationsUploader < CarrierWave::Uploader::Base
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def default_url
ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
end
def extension_white_list
%w(jpg pdf png)
end
end
Всякий раз, когда я пытаюсь на самом деле загрузки, однако, ошибки говорят, что я слишком много аргументов:
Я пробовал:
- Удаление: HTML => {: многочастному => верно} часть так как это также значение по умолчанию. Ошибка все еще возникает.
- Заменено @video с моей моделью @user. Это не ошибка! Это не имеет никакого смысла для того, что я пытаюсь сделать. Мне нужно, чтобы он работал для моей видеомодели, но почему это не ошибка с моделью пользователя?
Я как бы потерялся от того, куда идти отсюда. Кажется, это какая-то проблема с моей видеомоделью, так как это не ошибка с пользователем. У кого-нибудь есть идеи?
спасибо !!!
Относится ли видео к пользователю? –
В этом случае да. Доступ к этому видео осуществляется через пользователя. – rakoonise