rails4
にて
carrierwaveで画像アップロードの機能を実装しております。
しかし、表題の通り、画像アップロードで保存は成功するが、imageが入らず困ってます。
経緯と、当該箇所のソースを記述しました。
ご指摘頂けますと幸いです。
view
<%= form_for @member, url: members_path do |f| %> <%= f.fields_for :profile_images do |ff| %> <%= ff.file_field :image %> <% end %> <% end %>
model
class ProfileImage < ActiveRecord::Base belongs_to :member mount_uploader :image, Admin::PhotosPathUploader end
controller
def new @member = Member.new 2.times { @member.profile_images.build } end def create @member = Member.new(member_params) @member.save! end def member_params params.require(:member).permit(profile_images_attributes: [:image]) end
controllerの
member_paramsの所でbinding.pryをしてみると
"profile_images_attributes"=> {"0"=> {"image"=> #<ActionDispatch::Http::UploadedFile:0x007fda51266cf8 @content_type="image/png", @headers= "Content-Disposition: form-data; name=\"member[profile_images_attributes][0][image]\"; filename=\"hoge.png\"\r\nContent-Type: image/png\r\n", @original_filename="hoge.png", @tempfile= #<File:/var/folders/ct/7htplkvn1p77skk40j131s8r0000gq/T/RackMultipart20160117-18650-1hzsjvr.png>>, "id"=>"15"}},
となっており、ファイル自体はアップロードしている気がします。
エラーが起こるわけでもなく、ただ、ProfileImageにimageが保存されておりません。
ちなみに、controllerの
member_paramsの中身
"profile_images_attributes"=> {"0"=>{}, "1"=>{}}
member_paramsの中にimageが入るはずなのですが、
その原因がわからず困っております。
何卒宜しくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/20 11:20
2016/01/21 01:25 編集
2016/01/21 16:50
2016/01/21 16:51