2012-02-06 9 views
2

フォームフィールドは、新しいイメージをアップロードするために一度しか表示されないようにするためにネストされたフォームを持ち、CRUD機能なしで既存のイメージを表示します。本質的には、編集ページで、画像を追加するオプションを与えますが、削除や更新はできません。新しいエントリのためにネストされたフィールドのみを構築する

関係は、私は今、私のコントローラで次しようとしているhas_attached_file :image用クリップを使用video持つ多くのvideo_images、次のとおりです。私の見解で

# GET /videos/new 
    # GET /videos/new.json 
    def new 
    @video = current_user.videos.build 
    @newthumbnail = @video.video_images.build 

    respond_to do |format| 
     format.html # new.html.erb 
     format.json { render json: @video } 
    end 
    end 

そして、この:

<%= f.fields_for @newthumbnail do |u| %> 
     <%= u.label :image, "Upload New Thumbnail" %> <br /> 
     <%= u.file_field :image, :class => "image_uploader" %> 
    <% end %> 
    <p> 
     Or select a previous thumbnail 
    </p> 
    <div id="previous_thumbnails"> 
     <!-- These will ultimately be dynamically generated as the existing image associations --> 
     <div class="previous_thumbnail" rel="1"> 
     <img src="http://placehold.it/120x90" /> 
     </div> 
     <div class="selected previous_thumbnail" rel="2"> 
     <img src="http://placehold.it/120x90" /> 
     </div> 
     <div class="previous_thumbnail" rel="3"> 
     <img src="http://placehold.it/120x90" /> 
     </div> 
     <div class="previous_thumbnail" rel="4"> 
     <img src="http://placehold.it/120x90" /> 
     </div> 
    </div> 

しかし、私は次のエラーで終了します:

unknown attribute: video_image 

これは、どこかに、特異性対複数の誤訳があることを私に伝えます。私はRailsがなぜそれを単独で扱うのか、それは実際には単一のエントリであることが分かります。送信されたparamsと共に、

VideoImage(#39741260) expected, got Array(#9591480) 

:しかし、たとえファイルのフィールドの名前をオーバーライドし、name="video[video_images][image]"name="video[video_image][image]"を作り、私はそうのようなエラーが出る

"video_images"=>{"image"=>#<ActionDispatch::Http::UploadedFile:0x000000054f1078 @original_filename="Bill OneManBand.jpg", 
@content_type="image/jpeg", 
@headers="Content-Disposition: form-data; name=\"video[video_images][image]\"; filename=\"Bill OneManBand.jpg\"\r\nContent-Type: image/jpeg\r\n", 
@tempfile=#<File:/tmp/RackMultipart20120205-3582-1xp2duq>>}, 

だから私は間違っているんですか?私はこの

は、フィールドが、彼らはの一部だということを知っている必要があります。この

<%= f.fields_for :video_images, @newthumbnail do |u| %> 

<%= f.fields_for @newthumbnail do |u| %> 

私はこれに間違ったアプローチを取ることもできるように感じる...

答えて

3

変更videoランダムではありませんvideo_imageフィールド

videoモデルにもがあることを確認してください。

+0

これまでの構文を見ていて、それを調べていませんでした。もし私が持っていたら、私に多くの時間を節約できたでしょうか。ありがとう! –

関連する問題