Я пытаюсь реализовать Paperclip в своем приложении Rails3 и использую Railscast от Emerson Lackey (http://www.emersonlackey.com/article/paperclip-with-rails-3) в качестве модели, так как он очень похож на то, что я хочу сделать (иметь несколько фотографий для конкретной модели). Однако я я не получаю никаких дочерних объектов для сохранения чего-либо, кроме NULLS, об изображениях.
Вот родительская модель, автомобили, на которой есть несколько фотографий автомобилей:
class Car < ActiveRecord::Base
attr_accessible :model_year, :admin_model_name_id, :chassis_number, :location, :description, :for_sale, :sale_contact_info_visible_to_all, :sale_contact_number, :car_photos_attributes
has_many :car_photos, :dependent => :destroy
accepts_nested_attributes_for :car_photos, :allow_destroy => true
А потом модель для фото машины:
class CarPhoto < ActiveRecord::Base
belongs_to :car
has_attached_file :car_photo, :styles => { :large => "640x480", :medium => "300x300>", :thumb => "100x100>" }
attr_accessible :file_name, :content_type, :file_size, :car_id
end
При сохранении новой машины, автомобиль сохраняет нормально, как и раньше, но CarPhotos нет. Вот вывод из вебрика:
AREL (0.2ms) INSERT INTO `car_photos` (`file_name`, `content_type`, `file_size`, `car_id`, `created_at`, `updated_at`) VALUES (NULL, NULL, NULL, 38, '2011-03-10 17:15:52', '2011-03-10 17:15:52')
[paperclip] Saving attachments.
[paperclip] Saving attachments.
SQL (5.8ms) COMMIT
Redirected to http://127.0.0.1:3000/cars/38
Completed 302 Found in 144ms
Я ожидаю, что это как-то связано с макросами attr_accessible в двух моделях, но я не смог точно определить, что это такое. Исходный код Эмерсона не имеет изменений по сравнению со скаффолдингом для метода create, поэтому я не уверен, нужно ли мне обновлять мой, чтобы заставить детей сохранять значения из формы. У меня есть: html => {: multipart => true} в моем form_for @car на мой взгляд. Улики? Заранее спасибо.