Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从上传的文件中选择化身_Ruby On Rails_Carrierwave - Fatal编程技术网

Ruby on rails 从上传的文件中选择化身

Ruby on rails 从上传的文件中选择化身,ruby-on-rails,carrierwave,Ruby On Rails,Carrierwave,我已经安装了carrierwave,用户可以上传照片。我该如何设置,以便用户不必上传化身文件,而是可以从上传的照片中选择哪一张将作为他们的化身?例如,当你在Facebook上,点击你的一张照片,点击“选项”链接,它会显示“制作个人资料图片”。然后,该图像将成为您的头像,或在整个Facebook上使用的图片。我也在找同样的东西 画廊管理员: def index @galleries = Gallery.all end def show @gallery = Galler

我已经安装了carrierwave,用户可以上传照片。我该如何设置,以便用户不必上传化身文件,而是可以从上传的照片中选择哪一张将作为他们的化身?例如,当你在Facebook上,点击你的一张照片,点击“选项”链接,它会显示“制作个人资料图片”。然后,该图像将成为您的头像,或在整个Facebook上使用的图片。我也在找同样的东西

画廊管理员:

 def index
    @galleries = Gallery.all
  end

  def show
    @gallery = Gallery.find(id_params)
  end

  def new
    @gallery = Gallery.new
  end

  def create
    @gallery = Gallery.new(gallery_params)
    if @gallery.save
      flash[:notice] = "Created gallery."
      redirect_to @gallery
    else
      render :action => 'new'
    end
  end

  def edit
    @gallery = Gallery.find(id_params)
  end

  def update
    @gallery = Gallery.find(id_params)
    if @gallery.update_attributes(gallery_params)
      flash[:notice] = "Updated gallery."
      redirect_to gallery_url
    else
      render :action => 'edit'
    end
  end

  def destroy
    @gallery = Gallery.find(id_params)
    @gallery.destroy
    flash[:notice] = "Gallery deleted."
    redirect_to galleries_url
  end

  private


   def gallery_params
     params.require(:user).permit(:name)
   end

   def id_params
     params.require(:id).permit(:name)
   end

end
def new 
    @photo = Photo.new
  end


  def create
    @photo = Photo.new(params[:photo])
    @photo.user = current_user
    if @photo.save
      flash[:notice] = "Successfully created photos."
      redirect_to :back
    else
      render :action => 'new'
    end
  end


  def edit
    @photo = Photo.find(params[:id])
  end

  def update
    @photo = Photo.find(params[:id])
    if @photo.update_attributes(paramas[:photo])
      flash[:notice] = "Successfully updated photo."
      redirect_to @photo.gallery
    else
      render :action => 'edit'
    end
  end

  def destroy
    @photo = Photo.find(params[:id])
    @photo.destroy
    flash[:notice] = "Successfully destroyed photo."
    redirect_to @photo.gallery
  end
end
照片控制器:

 def index
    @galleries = Gallery.all
  end

  def show
    @gallery = Gallery.find(id_params)
  end

  def new
    @gallery = Gallery.new
  end

  def create
    @gallery = Gallery.new(gallery_params)
    if @gallery.save
      flash[:notice] = "Created gallery."
      redirect_to @gallery
    else
      render :action => 'new'
    end
  end

  def edit
    @gallery = Gallery.find(id_params)
  end

  def update
    @gallery = Gallery.find(id_params)
    if @gallery.update_attributes(gallery_params)
      flash[:notice] = "Updated gallery."
      redirect_to gallery_url
    else
      render :action => 'edit'
    end
  end

  def destroy
    @gallery = Gallery.find(id_params)
    @gallery.destroy
    flash[:notice] = "Gallery deleted."
    redirect_to galleries_url
  end

  private


   def gallery_params
     params.require(:user).permit(:name)
   end

   def id_params
     params.require(:id).permit(:name)
   end

end
def new 
    @photo = Photo.new
  end


  def create
    @photo = Photo.new(params[:photo])
    @photo.user = current_user
    if @photo.save
      flash[:notice] = "Successfully created photos."
      redirect_to :back
    else
      render :action => 'new'
    end
  end


  def edit
    @photo = Photo.find(params[:id])
  end

  def update
    @photo = Photo.find(params[:id])
    if @photo.update_attributes(paramas[:photo])
      flash[:notice] = "Successfully updated photo."
      redirect_to @photo.gallery
    else
      render :action => 'edit'
    end
  end

  def destroy
    @photo = Photo.find(params[:id])
    @photo.destroy
    flash[:notice] = "Successfully destroyed photo."
    redirect_to @photo.gallery
  end
end

下面是我可能做的一个例子

class UserAvatarController < ApplicationController
  def edit
    @gallery = current_user.gallery
    # render gallery of photos for user to choose
  end

  def update
    if params[:photo_id].present?
      current_user.update_attributes avatar_id: params[:photo_id]
    else
      flash[:error] = "No photo selected"
      render action: "edit"
    end
  end
end

下面是我可能做的一个例子

class UserAvatarController < ApplicationController
  def edit
    @gallery = current_user.gallery
    # render gallery of photos for user to choose
  end

  def update
    if params[:photo_id].present?
      current_user.update_attributes avatar_id: params[:photo_id]
    else
      flash[:error] = "No photo selected"
      render action: "edit"
    end
  end
end