使用回形针在导轨中丢失图像

时间:2015-05-04 21:07:53

标签: ruby-on-rails paperclip

我对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 %>

1 个答案:

答案 0 :(得分:1)

问题在于你的许可证参数,这一部分:

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

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

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

这应该可以正确保存您的图像。请记住经常检查您的服务器日志,当您忘记在许可证参数中添加属性时,它们将显示警告,例如“未允许的参数::图像”。