2016-07-09 3 views
0

사용자가 paperclip gem으로 업로드 한 프로필 사진을 수정할 수있는 옵션을 추가하려고합니다. 그러나 인터넷에서 얻은 모든 예는 등록 된 적이없는 사용자를 등록하는 동안 이미지를 추가하는 방법을 설명합니다. 어떻게해야합니까? 나는 사용자 등록을 위해 장치를 사용하고 있습니다.사용자 가입 후 클립으로 이미지를 추가하는 방법은 무엇입니까?

def create 
    @user = User.where(id: current_user.id) 
    ?? 
    ?? 
    end 

    def user_params 
    params.require(:user).permit(:avatar) 
    end 
우리가 User 모델에 이미지를 저장할 수 있도록 컨트롤러 액션 create에 추가되어야 무엇

?

편집 : 기본 이미지가 표시되는 사용자 등록하면서

user.rb

class User < ActiveRecord::Base 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

    has_attached_file :avatar, :styles => { :thumb => "59x59#" },, :default_url => "/images/:style/missing.jpg" 
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/ 
end 

또한, 사용자 등록하면서 이미지를 선택하는 옵션이 없습니다.

+0

사용자 모델의 코드를 제공해 주시겠습니까? 질문에 대답하는 사람에게 더 많은 컨텍스트를 추가합니다. –

+0

@IleEftimov : 업데이트 됨 – InQusitive

답변

0

가 나는만큼 간단해야한다고 생각 :

def create 
    @user = User.where(id: current_user.id) 
    @user.avatar = params[:user][:avatar] 
    @user.save 
end 

이것은 당신이 사용자에게 전송되는 파일을 지정하고, 파일을 포함하여, 사용자를 저장해야합니다. 파일은 public 디렉토리 (또는 사용자가 구성한 경로)에 저장됩니다.

그런 다음보기에, 당신은 아바타를 호출 할 수 있어야한다 : 도움이

<%= image_tag @user.avatar.url %> 

희망!

+0

UserProfileController #에서 NoMethodError가 발생했습니다. # 에 대해 정의되지 않은 메서드 'avatar ='가 생성됩니다. – InQusitive

+0

사용자 테이블에서 아바타 열의 존재 여부를 스키마에서 확인할 수 있습니까? ? – oreoluwa

+0

t.string "avatar_file_name"제한 : 255 t.string "avatar_content_type"제한 : 255 t.integer "avatar_file_size", 제한 : 귀하의 사용자 모델에서 – InQusitive