我正在开始使用回形针插件,但我似乎无法在开发中显示图像。我在config/environment/development.rb文件中添加了以下内容:
Paperclip.options[:command_path] = "/usr/local/bin/"我通过自制软件包管理器安装了imagemagick和ghostscript。然后,我将回形针gem添加到我的gemfile中,并运行bundle install。然后我跑了
rails g paperclip carrier_data asset
rake db:migrate然后,我转到我的运营商数据模型,添加了
has_attached_file :asset之后,我更改了表单部分,以添加结果代码,以便我可以上传图像,我正在使用简单的表单gem,这是我输入的以下代码。
<%= simple_form_for [:carrier_datum, @carrier_datum], :url => carrier_datum_path, :html => { :multipart => true} do |f| %>
<div>
<%= f.input :asset, :as => :file, :label => "Upload File" %>
</div>最后,我转到显示页面并添加了以下代码,以便我可以查看图像:
<%= image_tag @carrier_datum.asset.url %>当我尝试创建一个新的载体基准记录时,我得到这样的信息:
No route matches {:action=>"show", :controller=>"carrier_data"}日志如下所示:
ActionView::Template::Error (No route matches {:action=>"show", :controller=>"carrier_data"}):
1: <%= simple_form_for [:carrier_datum, @carrier_datum], :url => carrier_datum_path, :html => { :multipart => true} do |f| %>
2: <% if @carrier_datum.errors.any? %>
3: <div id="error_explanation">
4: <h2><%= pluralize(@carrier_datum.errors.count, "error") %> prohibited this carrier_datum from being saved:</h2>
app/views/carrier_data/_form.html.erb:1:in `_app_views_carrier_data__form_html_erb__2372678434167691626_2513245300'
app/views/carrier_data/new.html.erb:3:in `_app_views_carrier_data_new_html_erb___55769200685419080_2513267980'
app/controllers/carrier_data_controller.rb:30:in `new'我运行的是rails 3.1,使用postgresql作为我的数据库,如果这有帮助的话。
下面是rake路径的输出
carrier_data GET /carrier_data(.:format) {:action=>"index", :controller=>"carrier_data"}
POST /carrier_data(.:format) {:action=>"create", :controller=>"carrier_data"}
new_carrier_datum GET /carrier_data/new(.:format) {:action=>"new", :controller=>"carrier_data"}
edit_carrier_datum GET /carrier_data/:id/edit(.:format) {:action=>"edit", :controller=>"carrier_data"}
carrier_datum GET /carrier_data/:id(.:format) {:action=>"show", :controller=>"carrier_data"}
PUT /carrier_data/:id(.:format) {:action=>"update", :controller=>"carrier_data"}
DELETE /carrier_data/:id(.:format) {:action=>"destroy", :controller=>"carrier_data"}
pages GET /pages(.:format) 如果我删除简单的表单调用,并使用常规的表单部分表示法,如下所示:
<%= form_for(@carrier_datum, :html => { :multipart => true}) do |f| %>
<div>
<%= f.label :asset, "Upload File:"%>
<%= f.file_field :asset %>
</div>我仍然得到损坏的图像问题,并且我的日志显示图像丢失。
发布于 2011-11-02 11:23:22
我最终切换到carrierwave,我必须说它是一个更好的文件上传的宝石。如果你使用的是rails 3.1,它是一个更好的文件上传解决方案。
https://stackoverflow.com/questions/7926578
复制相似问题