저는 프로그래밍에 익숙하지 않고 클립을 사용하여 사용자 사진에 사용자 사진을 추가하려고합니다. < % = f.file_field : photo %> 행없이 새 레코드 추가 양식에서 레코드를 작성하고 올바르게 리디렉션하고 레코드를 데이터베이스에 저장합니다. 그러나 save에 포함 된 경우 사용자 경로 대신 create.html.erb로 리디렉션하고 새 레코드를 저장하지 않습니다. 또한 오류를 표시하지 않습니다. photo_file_name, photo_content_type 및 : photo_file_size 필드를 사용하여 users 테이블을 업데이트했습니다. 또한 도움이된다면 창을 돌리고 있습니다.Rails/clip에 처음 오신 것을 환영합니다. - Paperclip save save
모델 :
class User < ActiveRecord::Base
has_many :venues
has_many :reviews
has_attached_file :photo,
:styles => {
:medium => "300x300>",
:thumb => "100x100>" }
end
컨트롤러 :
class UsersController < ApplicationController
def index
@users = User.all
end
def new
@user = User.new
end
def create
@user = User.create(params[:user])
if @user.save
flash[:notice] = 'User added'
redirect_to users_path
else
@user.save
end
end
def show
@user = User.find(params[:id])
end
end
보기 :
<% form_for (@user, :html => { :multipart => true }) do |f| %>
<p>username: <br>
<%= f.text_field :username %></p>
<p>password: <br>
<%= f.text_field :password %></p>
<p>photo: <br>
<%= f.file_field :photo %></p>
<%= submit_tag %>
<% end %>
어떤 도움이 많이 감사합니다! 현상 로그에 도시 뭐죠
:
처리 UsersController # 생성 [POST] 파라미터 (2011-01-12 22시 5분 56초에 대한 127.0.0.1) { "사용자"= > { "사진"=> #, "사용자 이름"=> "nghjhg" "암호"=> "ghjghj"}, "커밋"=> " 변경 사항을 저장" "authenticity_token"=> "IlacpnqsC/ij + 41bx8tN4obOWPgirMx810l/WvOHN68 = "} [형식] -format % wx % h "C : /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png [0] " 2> NUL [클립 ] 오류 수신되었지만 처리 :
C :. /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png 가 '확인' 명령 인식하지> [paperclip] identify -format % wx % h "C : /Users/Home/AppData/Local/Temp/stream1102-2292-2yorcw-0.png [0]" 2> NUL [paperclip] 오류는 입니다.
C : /Users/Home/AppData/Local/Temp/stream110112-5292-2yorcw-0.png,536,913 처리 중에 수신 '식별' 명령에 의해이 인식되지 않습니다. 내의 렌더링 템플릿 사용자/생성 완료 157ms (보기 : 4, DB : 0) | 200 OK [HTTP : // 로컬 호스트/사용자]
답변 주셔서 감사합니다, 그냥 내 질문에 실수를 발견했습니다. 나는 avater_file_name, avater_content_type 및 avatar_file_size 필드가있는 User 테이블을 미안한 사진으로 마이그레이션하지 않았습니다. 이제 'photo_file_name'에 필수 attr_accessor가 누락 된 사용자 모델을 반환합니다. '사진'으로 다시 이전하고 저장하지 않으려면 다시 전환했습니다. – Dave
Erm, 테이블 열 이름을'photo_ *'대신'avatar_ *'를 사용하도록 변경했지만'has_attached_file : avatar' 대신'has_attached_file : photo'를 사용하도록 질문을 업데이트했습니다. 결정해라! 무엇 이니? – noodl
죄송합니다. 내 원래 질문에서 실수였습니다. 사용자 테이블에서 사진을 모두 변경했습니다. 내 모델, 컨트롤러 및보기가 위와 유사합니다. – Dave