欲しいもの: ファイルをアップロードしてオブジェクト (Person など) に割り当てることができるサイト。アップロードには、carrierwaveを使用しています。「人」と「愛着」の 2 つのモデルを分離したいと考えています。人には、たったひとつの執着しかありません。私の見解では、「field_for」を使用して、アップロードをネストされたフォームに設定したいと考えています。
私のコード:
#app/models/person.rb
has_one :attachment
accepts_nested_attributes_for :attachment
attr_accessible :name, :attachment_attributes
#app/models/attachment.rb
attr_accessible :description, :file
belongs_to :person
mount_uploader :file, AttachmentUploader
#app/controllers/person_controller.rb
def new
@person = Person.new
@person.build_attachment
end
#app/views/person/new.html.haml
= form_for @person, :html => {:multipart => true} do |f|
= f.fields_for :attachment do |attachment_form|
attachment_form.file_field :file
= f.submit
私の問題: new.html を開こうとすると、次のエラーが発生します: 不明な属性: person_id
このエラーが発生する理由がわかりません。誰かアイデア?
(Ruby 1.8.7 で Rails 3.2.6 を使用しています)