所以回形针,似乎每次我使用它时都有不同的方法让它工作。
所以目前我尝试提交一个表单,但它失败并重新呈现表单(如果表单不保存,这就是它应该做的)。
这是我到目前为止的设置
宝石文件
gem "paperclip", "~> 3.0"
控制器
def new
@post = Post.new
end
def create
@user = current_user
@post = @user.posts.new(params[:post])
if @post.save
redirect_to root_path, :notice => 'Post Successfully Created'
else
render :action => 'new'
end
end
后模型
class Post < ActiveRecord::Base
belongs_to :category
belongs_to :user
attr_accessible :comments, :title, :category_id, :user_id, :photo
has_attached_file :photo, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
形式
<%= form_for @post, :class => 'post-form', :html => { :multipart => true } do |f| %>
<%= f.label :title, "Title", :class => 'title_label' %>
<%= f.text_field :title %>
<%= f.label :category_id, "Choose Category", :class => 'title_label' %>
<%= f.collection_select(:category_id, Category.all, :id, :name, :prompt => "Please Select a Category") %>
<%= f.label :comments, "Comments", :class => 'title_label' %>
<%= f.text_area :comments %><br>
<%= f.file_field :photo %>
<%= f.submit 'Submit', :class => 'btn' %>
<% end %>
我添加照片的迁移是成功的,因为我的架构看起来像这样
create_table "posts", :force => true do |t|
t.string "title"
t.text "comments"
t.integer "category_id"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "photo_file_name"
t.string "photo_content_type"
t.integer "photo_file_size"
t.datetime "photo_updated_at"
结尾
任何人都可以看到为什么这不能按预期工作的原因吗?
编辑
我需要安装 ImageMagick 以允许上传图像还是仅用于在视图中渲染图像?
好的,所以从评论中我开始尝试调试并将其放在我的视图中
<%= @post.errors.full_messages %>
我得到这个返回
["Photo C:/Users/RICHAR~1/AppData/Local/Temp/bitman20130724-5600-agvtgn.png is not recognized by the 'identify' command.", "Photo C:/Users/RICHAR~1/AppData/Local/Temp/bitman20130724-5600-agvtgn.png is not recognized by the 'identify' command."]
有任何想法吗?
谢谢