首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rails 3.1回形针

rails 3.1回形针
EN

Stack Overflow用户
提问于 2011-10-28 15:58:00
回答 2查看 2.1K关注 0票数 2

我正在开始使用回形针插件,但我似乎无法在开发中显示图像。我在config/environment/development.rb文件中添加了以下内容:

代码语言:javascript
运行
复制
Paperclip.options[:command_path] = "/usr/local/bin/"

我通过自制软件包管理器安装了imagemagick和ghostscript。然后,我将回形针gem添加到我的gemfile中,并运行bundle install。然后我跑了

代码语言:javascript
运行
复制
rails g paperclip carrier_data asset
rake db:migrate

然后,我转到我的运营商数据模型,添加了

代码语言:javascript
运行
复制
has_attached_file :asset

之后,我更改了表单部分,以添加结果代码,以便我可以上传图像,我正在使用简单的表单gem,这是我输入的以下代码。

代码语言:javascript
运行
复制
<%= 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>

最后,我转到显示页面并添加了以下代码,以便我可以查看图像:

代码语言:javascript
运行
复制
<%= image_tag @carrier_datum.asset.url %>

当我尝试创建一个新的载体基准记录时,我得到这样的信息:

代码语言:javascript
运行
复制
No route matches {:action=>"show", :controller=>"carrier_data"}

日志如下所示:

代码语言:javascript
运行
复制
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路径的输出

代码语言:javascript
运行
复制
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) 

如果我删除简单的表单调用,并使用常规的表单部分表示法,如下所示:

代码语言:javascript
运行
复制
<%= form_for(@carrier_datum, :html => { :multipart => true}) do |f| %>
<div>   
    <%= f.label :asset, "Upload File:"%>
    <%= f.file_field :asset %>
</div>

我仍然得到损坏的图像问题,并且我的日志显示图像丢失。

EN

Stack Overflow用户

回答已采纳

发布于 2011-11-02 11:23:22

我最终切换到carrierwave,我必须说它是一个更好的文件上传的宝石。如果你使用的是rails 3.1,它是一个更好的文件上传解决方案。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7926578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档