【发布时间】:2014-11-14 01:56:19
【问题描述】:
我是回形针的新手,我想看看它是如何工作的。我生成了一个简单的模型 Monkey 并得到以下内容:
rails g scaffold monkey description age:datetime
rails g paperclip monkey facepic
rake db:migrate
型号
class Monkey< ActiveRecord::Base
has_attached_file :facepic, :styles => { :medium => "300x300>", :thumb => "100x100>" }
结束
查看新/编辑
<%= form_for @monkey, :url => monkies_path, :html => { :multipart => true } do |f| %>
...
<div class="field">
<%= f.label :facepic %><br>
<%= f.file_field :facepic %>
</div>
观看节目
<%= image_tag @monkey.facepic.url %>
控制器
@monkey = Monkey.new(monkey_params)
我可以创建新猴子,但显示视图似乎找不到上传的文件。我没有错误消息,除了“missing.png”的路由错误。上传的图像没有任何痕迹。我正在使用 Rails 4.1.6。我在这里想念什么?我该如何解决这个问题?安装了 gem,还安装了 imagemagick。
日志是这样说的:
ActionController::RoutingError (No route matches [GET] "/facepics/original/missing.png"):
...
Started GET "/monkies/new" for 127.0.0.1 at 2014-09-19 14:40:22 +0200
Processing by MonkiesController#new as HTML
Rendered monkies/_form.html.erb (4.0ms)
Rendered monkies/new.html.erb within layouts/application (5.0ms)
Completed 500 Internal Server Error in 12ms
ActionView::Template::Error (No route matches {:action=>"show", :controller=>"monkies"} missing required keys: [:id]):
但是当我创建一个新猴子时没有显示错误消息... :'(
编辑:
Monkey 模型已创建,但回形针列仍为空。
【问题讨论】:
-
您是否将
:facepic添加到您的强参数中? -
您的公共文件夹中有图片吗?您可能会在您的公共文件夹中找到一个文件夹调用系统,并在其中找到上传的图像。
-
公用文件夹中没有图像,我没有将它添加到强参数中!!!我现在就试试!
-
现在我得到 Paperclip::Errors::MissingRequiredValidatorError with :facepic in strong params :S