2016-09-07 5 views
0

carrierwaveとImagemagickで画像アップロード機能を追加しました。 新しい投稿を書くときに機能しますが、投稿を編集して別の画像ファイルに変更しようとすると機能しません。コントローラーの 'edit_complete'アクションを編集したにもかかわらず、初めてアップロードした画像はまだあります。ruby​​ on railで搬送波を使って投稿を編集するときに画像ファイルを変更したい場合

これは、ポストテーブルの移行ファイルの一部です。

class CreateHospitalReviews < ActiveRecord::Migration 
def change 
    t.string :image1 
    t.string :image2 
    t.text :content 
end 
end 

これはポストテーブルのモデルファイルの一部です。

class HospitalReview < ActiveRecord::Base 
    mount_uploader :image1, ImageUploader 
    mount_uploader :image2, ImageUploader 
end 

これは 'write.html.erb' の一部である(新しい記事を書くの景色。)

<p>Upload imagefile: </p> 
<p><input type="file" name="image1"></p> 
<p><input type="file" name="image2"></p> 

これは「edit.html.erbの書面編集の(ビューの一部であります投稿)

<p>Upload imagefile: </p> 
<p><input type="file" name="image1" value="<%[email protected]%>"></p> 
<p><input type="file" name="image2" value="<%[email protected]%>"></p> 

これはコントローラのedit_postアクションの一部です。

def edit_complete 
review = HospitalReview.find(params[:id]) 
review.image1 = params[:image1] 
review.image2 = params[:image2] 
review.save 
end 

MVCに何か問題があります。

答えて

0

ファイル入力からvalue属性を削除します。

編集ページの利用HTMLにIMGタグを画像を表示し、imgタグのSRC 属性に画像のパスを提供します。

+0

は、私が「edit.html.erb」からvalue属性を削除して、コメントを追加し

」>ポストの詳細を示して 『show.html.erb』で

が、それはまだ動作しません。 – felipa

+0

編集方法を次のように更新します。 review = HospitalReview.find(params [:id]) review.update_attributes(:image1 => params [:image1]、:image2 => params [:image2]) – APS

関連する問題