[RUBY-ON-RAILS] 클립에 여러 파일을 업로드
RUBY-ON-RAILS클립에 여러 파일을 업로드
나는, 종이 클립을 사용하여 문제를 업로드 여러 파일을 데
내 모델은 같다
slider has_many imgarrays
imgarrays has_many imageobjects
imageobjects have_attachment(as for paperclip)
나는 아무 문제도 하나의 이미지를 받아 내 다른 모델에 클립을 사용하여 저장이 없다,하지만 난 확실히 여러 파일 업로드시 imgarrays PARAM에 의해 반환 된 배열을 처리하는 방법의 아닙니다.
여기 내 레일 서버 로그는 다음과 같습니다
Started POST "/slider" for 127.0.0.1 at 2012-07-23 10:14:17 +0800
Processing by SliderController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"7HcHtSlOsU/bnxb9emhAsSl/GFBraIE6NxwijHl3REM=", "slider"=>{"question"=>"", "answer"=>"", "score"=>"", "industry_name"=>"",
"imgarrays"=>[#<ActionDispatch::Http::UploadedFile:0x007fb471e99f30 @original_filename="Icon.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"slider[imgarrays][]\"; filename=\"Icon.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/2s/n9wb5x4534nfs1cbrlph32v00000gp/T/RackMultipart20120723-53499-1lyi4yf>>, #<ActionDispatch::Http::UploadedFile:0x007fb471e99dc8 @original_filename="Icon@2x.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"slider[imgarrays][]\"; filename=\"Icon@2x.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/2s/n9wb5x4534nfs1cbrlph32v00000gp/T/RackMultipart20120723-53499-10lala2>>, #<ActionDispatch::Http::UploadedFile:0x007fb471e99d50 @original_filename="greenButton.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"slider[imgarrays][]\"; filename=\"greenButton.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/var/folders/2s/n9wb5x4534nfs1cbrlph32v00000gp/T/RackMultipart20120723-53499-or2rdk>>]}, "commit"=>"Create!"}
Completed 500 Internal Server Error in 18ms
ActiveRecord::AssociationTypeMismatch (Imgarray(#70206507050500) expected, got ActionDispatch::Http::UploadedFile(#70206487229960)):
app/controllers/slider_controller.rb:12:in `new'
app/controllers/slider_controller.rb:12:in `create'
Rendered /Users/Kinnovate/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.4ms)
Rendered /Users/Kinnovate/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.4ms)
Rendered /Users/Kinnovate/.rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.1.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (6.5ms)
슬라이더 new.html.erb
<div>
<%= form_for @slider ,:url=>"/slider" , :html => { :multipart => true } do |f| %>
<%= f.label :question , "question"%>
<%= f.text_field :question %> </br>
<%= f.label :answer , "answer array (comma seperated)"%>
<%= f.text_field :answer %> </br>
<%= f.label :score , "score"%>
<%= f.text_field :score %> </br>
<%= f.label :industry_name , "industry"%>
<%= f.text_field :industry_name %> </br>
<%= f.label :attachedimg , "image"%>
<%= f.file_field :imgarrays, :multiple =>:true %> </br>
<%= f.submit "Create", class: "btn btn-large btn-primary" %>
<% end %>
</div>
<%= link_to 'Cancel', slider_index_path %>
해결법
-
==============================
1.여기에 클립을 사용하여 여러 파일을 업로드 잘 작동 내 코드는 다음과 같습니다 우리는 중첩 된 속성을 사용하거나 일반 쉬운 방법을 사용하여 얻을 수 있습니다.
여기에 클립을 사용하여 여러 파일을 업로드 잘 작동 내 코드는 다음과 같습니다 우리는 중첩 된 속성을 사용하거나 일반 쉬운 방법을 사용하여 얻을 수 있습니다.
다음 코드는 정상적인 방법을 보여줍니다
User.rb
Image.rb
사용자 / 뷰 / new.html.erb
<%= form_for @user, :html => { :multipart => true } do |f| %> ...... .... <%= file_field_tag :avatar, multiple: true %> <% end %>
Users_controller :
.....
if @user.save # params[:avatar] will be an array. # you can check total number of photos selected using params[:avatar].count params[:avatar].each do |picture| @user.images.create(:avatar=> picture) # Don't forget to mention :avatar(field name) end end
그것을 이잖아. 업로드있어 이미지, 이것은 좋은 방법이 될 수 없습니다 만 작동합니다.
from https://stackoverflow.com/questions/11605787/uploading-multiple-files-with-paperclip by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 존재하지 않는 가입 기록을 찾기 (0) | 2020.02.20 |
---|---|
[RUBY-ON-RAILS] (: 방법 => : 삭제) 작동하지 않는 3 LINK_TO 레일 (0) | 2020.02.20 |
[RUBY-ON-RAILS] 왜 액세스 액티브에 사용 "자기"/ 모델 속성 레일? (0) | 2020.02.20 |
[RUBY-ON-RAILS] 배열의 PostgreSQL의 경우 모든 (0) | 2020.02.20 |
[RUBY-ON-RAILS] 레일 방법은 어디 그 DateTime 개체로`datetime_select`에서 변환 데이터? (0) | 2020.02.20 |