7

我正在使用带有 Paperclip gem 的 Ruby 1.9 和 Rails 2.3.4 来保存附件。我按照教程添加了正确的迁移,将 (has_attached_file :video) 添加到模型中,制作表单 (multipart) 并添加 <%= f.file_field :video %> 到它...

当我尝试上传文件时,我查看日志并看到:

[paperclip] Saving attachments.

但是文件并没有真正上传,回形针添加的额外字段都是NULL!

它没有抛出任何错误的事实让我很困惑从哪里开始寻找可能的问题。我正在使用 MAC OSX Leopard,这可能是权限问题吗?如果是这样,我怎样才能给我的应用程序“sudo”权限?

任何想法是什么问题或我如何显示更好的日志记录以了解在哪里寻找问题。

谢谢,

日志:

  SQL (0.2ms)   SET NAMES 'utf8'
  SQL (0.2ms)   SET SQL_AUTO_IS_NULL=0


Processing PostsController#create (for 127.0.0.1 at 2009-09-26 17:08:26) [POST]
  Parameters: {"authenticity_token"=>"ZhEzTVQScgZxV9KY0Eo+sG5sHwn1kHgykvy11ovvfSU=", "post"=>{"title"=>"asd fasdf ", "description"=>"asdf as fasd f", "video"=>#<File:/var/folders/RH/RHekFGKME9uDJbX4d4DG3E+++TI/-Tmp-/RackMultipart20090926-27216-m28uwg-0>, "video_link"=>"", "is_notify_when_comment"=>"0"}}
I'm in load_user
  User Columns (3.7ms)   SHOW FIELDS FROM `users`
  User Load (0.6ms)   SELECT * FROM `users` WHERE (`users`.`id` = 3) LIMIT 1
  Post Columns (3.0ms)   SHOW FIELDS FROM `posts`
WARNING: Can't mass-assign these protected attributes: video
  SQL (0.2ms)   BEGIN
  Post Create (0.4ms)   INSERT INTO `posts` (`title`, `description`, `video_link`, `is_notify_when_comment`, `view_count`, `is_ours`, `votes_up_count`, `votes_down_count`, `flag_count`, `is_deleted`, `user_id`, `created_at`, `updated_at`, `video_file_name`, `video_content_type`, `video_file_size`, `video_updated_at`) VALUES('asd fasdf ', 'asdf as fasd f', '', 0, 0, 0, 0, 0, 0, 0, 3, '2009-09-27 00:08:27', '2009-09-27 00:08:27', NULL, NULL, NULL, NULL)
[paperclip] Saving attachments.
  SQL (24.0ms)   COMMIT
Redirected to http://localhost:3000/posts/10
Completed in 477ms (DB: 32) | 302 Found [http://localhost/posts]
4

1 回答 1

14

我想出了问题所在

我必须在模型中将 :video 添加到我的 attr_accessible 中,这样它就不会分配该视频并且不会引发错误

于 2009-09-27T03:45:24.747 回答