回形针不保存帖子上的图像

时间:2015-09-06 01:15:05

标签: ruby-on-rails imagemagick paperclip

通过创建一个简单的论坛来学习rails等。我希望用户能够将图像添加到他们创建的帖子中,但是当我尝试它时,它似乎不会添加/保存图片。 Paperclip正确安装,ImageMagick也是如此。这是代码。

(顺便说一下,我正在使用.haml)

编辑 :已将.permit更改为(:image_file),以便我现在可以发布,但它不会附加图片。

发布模型

class Post < ActiveRecord::Base
  has_many :comments
  belongs_to :user
  has_attached_file :image, styles: {large: "600x600>", medium: "300x300>", thumb: "100x100#"}
  validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/
end

发布表格

= simple_form_for @post, html: { multipart: true }  do |f|
  = f.input :title
  = f.input :content
  = f.file_field :image
  = f.submit

发布参数

def post_params
  params.require(:post).permit(:title, :content, :image_file)
end

投放后

#post_content
  %h1= @post.title
  %p= @post.content
  =image_tag @post.image.url(:medium)

后置控制器

class PostsController < ApplicationController
    before_action :find_post, only: [:show, :edit, :update, :destroy]
    before_action :authenticate_user!, except: [:index, :show]
    def index
        @posts = Post.all.order("created_at DESC")
    end


    def show
    end

    def new
        @post = current_user.posts.build
    end

    def create
        @post = current_user.posts.build(post_params)

        if @post.save
            redirect_to @post
        else
            render 'new'
        end
    end

    def edit
    end

    def update
        if @post.update(post_params)
            redirect_to @post
        else
            render 'edit'
        end
    end

    def destroy
        @post.destroy
        redirect_to root_path
    end

    private

    def find_post
        @post = Post.find(params[:id])
    end

    def post_params
        params.require(:post).permit(:title, :content, :image_file)
    end
end

0 个答案:

没有答案