Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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 gem,我正在尝试在控制器中进行设置,以便在视图中使用box版本显示已上载的所有照片(照片表内)。我似乎只能显示选定用户的照片,但我想显示所有上传的照片 照片控制器: def new @photo = Photo.new end def create @photo = Photo.create(params[:photo]) @photo.user = current_user if @photo.save

我正在使用carrierwave gem,我正在尝试在控制器中进行设置,以便在视图中使用box版本显示已上载的所有照片(照片表内)。我似乎只能显示选定用户的照片,但我想显示所有上传的照片

照片控制器:

  def new 
    @photo = Photo.new
  end

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

  def resize(width, height, gravity = 'Center')
    manipulate! do |img|
      img.combine_options do |cmd|
        cmd.resize "#{width}"
        if img[:width] < img[:height]
          cmd.gravity gravity
          cmd.background "rgba(255,255,255,0.0)"
          cmd.extent "#{width}x#{height}"
        end
      end
      img = yield(img) if block_given?
      img
    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 :back
  end

  def avatar
    if current_user.update_attribute(:avatar_id, params[:id])
      flash[:notice] = "Successfully made Avatar."
        else
          flash[:notice] = "Avatar failed"
        end
        redirect_to :back, notice: "Set as avatar!"
      end
end
def新建
@photo=photo.new
结束
def创建
@photo=photo.create(参数[:photo])
@photo.user=当前用户
如果@photo.save
flash[:notice]=“已成功创建照片。”
重定向到:返回
其他的
呈现:操作=>“新建”
结束
结束
def调整大小(宽度、高度、重力=‘中心’)
操纵do | img|
img.combine_选项do| cmd|
cmd.resize“#{width}”
如果img[:宽度]“编辑”
结束
结束
def销毁
@photo=photo.find(参数[:id])
@照片。销毁
flash[:notice]=“已成功销毁照片。”
重定向到:返回
结束
def头像
如果当前用户更新属性(:头像\u id,参数[:id])
flash[:notice]=“已成功制作化身。”
其他的
flash[:注意]=“化身失败”
结束
重定向到:返回,注意:“设置为头像!”
结束
结束

如果我正确理解了您的问题,我认为您需要控制器中的索引方法

def index
  @photos = Photo.all
end
在你的视图中,如果你想显示所有的照片,那么你必须循环

- @photos.each do |photo|
   =image_tag photo.content_url