【问题标题】:Missing image in rails using paperclip使用回形针在导轨中丢失图像
【发布时间】:2015-05-05 05:25:25
【问题描述】:

我对 Rails 非常陌生,正在尝试构建我的第一个项目。 我在使用回形针添加图像时遇到问题。 基本上每当我尝试将图像上传到帖子时,它仍然会保留“丢失”的图像。非常感谢任何帮助。 这是我的模型

 class Pt < ActiveRecord::Base
        validates :name, presence: true
        has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100#" }
        validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"]
    end


  and my controller

class PersonaltrainersController < ApplicationController
  def index
      @PT = Pt.all
  end

  def new
      @PT = Pt.new
  end

  def show
      @PT = Pt.find(params[:id])
  end
def destroy
    @PT = Pt.find(params[:id])
  @PT.destroy

  redirect_to personaltrainers_path
end
def edit
      @PT = Pt.find(params[:id])
  end

    def update
        @PT = Pt.find(params[:id])
  if @PT.update(params[:pt].permit(:name, :age, :sex, :experience))
      redirect_to personaltrainer_path
        flash[:notice] = "The trainer was updated."
        else
            flash[:error] = "Something went wrong."
            render :edit
        end
            end

  def create
    @PT = Pt.new(params[:pt].permit(:name, :age, :sex, :experience))
      if @PT.save
            flash[:success] = "Successfully added a post."
            redirect_to personaltrainers_path
       else 
            flash[:error] = "Please check the form for errors and try again."
            render :new
        end
 end
      end
  def contact
  end

还有我的展示页面

<h1> <%= @PT.name %></h1>
<h2> <%= @PT.age %></h2>
<body>
<%= @PT.experience %>
</body>
<br>
<%= image_tag @PT.image.url()%>
<%= link_to "edit", edit_personaltrainer_path %>
<%= link_to "delete", personaltrainer_path, method: :delete, confirm: true %>

【问题讨论】:

  • 请向我们展示您当前尝试添加图片的@PT 表单。

标签: ruby-on-rails paperclip


【解决方案1】:

问题在于您的许可参数,这部分:

params[:pt].permit(:name, :age, :sex, :experience)

应该包含Pt 模型的:image 属性。所以,你需要这个作为你的许可参数:

params[:pt].permit(:name, :age, :sex, :experience, :image)

这应该可以让您的图像正确保存。请记住经常检查您的服务器日志,当您忘记将属性添加到您的许可参数时,它们会显示诸如“Unpermitted parameters: :image”之类的警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    相关资源
    最近更新 更多