До обновления моего Macbook я использовал Ruby 1.8.7 и Rails 3.0.9, мое приложение работало очень хорошо.
UPD: на самом деле проблема была в другом, см. Ответ ниже.
Теперь у меня такие же Rails (как и в Gemfile), но версия Ruby 1.9.2, и у меня есть некоторые проблемы с ней. Так что одним из них является то, что я потерял возможность загружать файлы через AJAX-загрузчик valums и 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"
}
Но тогда я получаю следующую вставку SQL:
INSERT INTO "photos" (
"name", "description",
"created_at", "updated_at",
"album_id", "image_file_name",
"image_content_type", "image_file_size",
"image_updated_at", "created_by")
VALUES (NULL, NULL,
'2011-10-23 19:08:18.746030', '2011-10-23 19:08:18.746030',
6, NULL,
NULL, NULL,
NULL, NULL)
Это не может быть контроллер, потому что он сверхпростой
@photo = Photo.new(params[:image])
@photo.album_id = params[:album_id]
if @photo.save
...
Это неприятная проблема, я даже пытался понизить ее до ruby 1.8.7
, так как я использую rvm
, но у меня ее пока нет. Если лучше всего использовать 1.8.7
, я сделаю это, но, пожалуйста, расскажите мне, как =)
Спасибо!