0

モデルの複数のアップロードを取得するために Carrierware と nested_form を実装しようとしていますが、問題が発生しています。

私のモデル:

class Idea < ActiveRecord::Base
    attr_accessible :suggested_files_by_owner_attributes 
    has_many :suggested_files_by_owner, :class_name => 'Attachment', :as => :attachable
    has_many :suggested_files, :class_name => 'Attachment', :as => :attachable
    accepts_nested_attributes_for :suggested_files_by_owner
end

私のモデル:

class Attachment < ActiveRecord::Base
  attr_accessible :title, :file
  # belongs_to :comment
  belongs_to :attachable, :polymorphic => true
  mount_uploader :file, FileUploader
end

私のスキーマ(移行しました):

create_table "attachments", :force => true do |t|
    t.datetime "created_at",      :null => false
    t.datetime "updated_at",      :null => false
    t.string   "title"
    t.integer  "attachable_id"
    t.string   "attachable_type"

移行しました:

class AddFileToIdeas < ActiveRecord::Migration
  def change
    add_column :ideas, :file, :string
  end
end

私の見解:

= nested_form_for @idea, :url => {:action => "update", :controller=>"ideas"}, :html=>{:multipart => true} do |f|
    =f.text_field :title, value: @idea.title
    = f.text_area :description, :size => '30x7', :id => 'description'
    %br 

    = f.label :privacy, "Make Private" 
    = f.check_box :is_private
    %p
    = f.fields_for :suggested_files_by_owner do |a_form|
        = a_form.file_field :file
        = a_form.link_to_remove "Remove"
    = f.link_to_add "Add Attachment", :suggested_files_by_owner


    = f.submit 'Save and Post'

送信を押すとエラーが発生します:

undefined method `file_will_change!'

また、ビューで [添付ファイルを追加] をクリックすると、アップローダー ボックスが 1 つではなく 2 つ表示されます。誰かが私の問題を理解するのを手伝ってくれますか?

更新 私の古いエラー:

uninitialized constant Idea::SuggestedFilesByOwner

:class_name => 'Attachment'関連行に追加する必要がありました。上記を参照

4

1 に答える 1