Ruby on rails Ruby 1.9.2+valums+rawfileupload=无交易

Ruby on rails Ruby 1.9.2+valums+rawfileupload=无交易,ruby-on-rails,Ruby On Rails,在升级Macbook之前,我使用了Ruby 1.8.7和Rails 3.0.9,我的应用程序运行得非常好 UPD:实际上问题不同,请参见下面的答案 现在我有了与Gemfile中相同的Rails,但是Ruby版本是1.9.2,我有一些问题。其中之一就是我已经失去了通过valums AJAX uploader和rawfileupload上传文件的能力。显然,所有数据都是通过以下方式传递的: {"photo"=>{ "image"=>#<ActionDispatch::Http:

在升级Macbook之前,我使用了Ruby 1.8.7和Rails 3.0.9,我的应用程序运行得非常好

UPD:实际上问题不同,请参见下面的答案

现在我有了与Gemfile中相同的Rails,但是Ruby版本是1.9.2,我有一些问题。其中之一就是我已经失去了通过valums AJAX uploader和rawfileupload上传文件的能力。显然,所有数据都是通过以下方式传递的:

{"photo"=>{
  "image"=>#<ActionDispatch::Http::UploadedFile:0x007fd47fe5df20 
     @original_filename="appleberry.jpg", @content_type="image/jpeg", @headers=nil, 
     @tempfile=#<File:blah-blah a real file, i can see it>}, 
  "album_id"=>"6", 
  "authenticity_token"=>"<is ok>=", "qqfile"=>"appleberry.jpg"
}
它不可能是控制器,因为它非常简单

@photo = Photo.new(params[:image])
@photo.album_id = params[:album_id]

if @photo.save
   ...
这是一个棘手的问题,我甚至尝试降级到ruby 1.8.7,因为我使用的是rvm,但我还没有得到它。如果最好的方法是使用1.8.7,我会这样做,但是,请告诉我怎么做=


谢谢

我发现这是我的错误。在rails中,我错误地声明了Photo.new,我使用了params[:image],但它应该是params[:Photo]。这就是为什么我在一个查询中得到很多空值

下次保存图像时请记住这一点

@photo = Photo.new(params[:image])
@photo.album_id = params[:album_id]

if @photo.save
   ...