首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rails回形针:上传的文件不会存储

问rails回形针:上传的文件不会存储
EN

Stack Overflow用户
提问于 2011-07-16 23:31:33
回答 2查看 2.4K关注 0票数 1

我正在使用Rails插件‘回形针’迈出我的第一步,并因此观看了RailsCast #134:http://railscasts.com/episodes/134-paperclip

除了我运行的是rails 3.0.9并通过将其添加到Gemfile来安装回形针(2.3.15)之外,一切都是一样的。

在演员3:00之前,一切都很顺利。但是在重新加载显示页面后,我得到的是“丢失”的图像,而不是上传的图像。此外,在'public‘目录中也没有创建任何新的内容。

有什么提示吗?

更新:根据这里的要求,相关代码:

代码语言:javascript
复制
Gemfile:
…
gem 'paperclip'
gem 'rails', '3.0.9'
…

config/routes.rb:
Foobar::Application.routes.draw do
  resources :books
end

app/models/book.rb:
class Book < ActiveRecord::Base
  has_attached_file :cover
  attr_accessor :cover_file_name
end

app/controllers/books_controller.rb:
# nothing changed here after scaffolding

app/views/books/_form.html.erb:
<%= form_for(@book, :html => { :multipart => true}) do |f| %>
…
<div class="field">
  <%= f.file_field :cover %>
</div>

app/views/books/show.html.erb:
…
<%= image_tag «book.cover.url %>
…

db/migrate/..._create_books.rb:
class CreateBooks < ActiveRecord::Migration
  def self.up
    create_table :books do |t|
      t.string :name

      t.timestamps
    end
  end

  def self.down
    drop_table :books
  end
end

db/migrate/..._ad_attachment_cover_to_book.rb:
class AddAttachmentCoverToBook < ActiveRecord::Migration
  def self.up
    add_column :books, :cover_file_name, :string
    add_column :books, :cover_content_type, :string
    add_column :books, :cover_file_size, :integer
    add_column :books, :cover_updated_at, :datetime
  end

  def self.down
    remove_column :books, :cover_file_name
    remove_column :books, :cover_content_type
    remove_column :books, :cover_file_size
    remove_column :books, :cover_updated_at
  end
end

在有了scaffold " book“之后,我开始使用"rails生成回形针图书封面”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-17 20:19:01

我认为attr_accessor :cover_file_name会对同名的表列造成冲突。尝试删除这一行。找不到任何其他会导致任何问题的东西。

票数 2
EN

Stack Overflow用户

发布于 2017-05-23 18:03:54

大家我想我在出现这个错误的时候已经给出了解决方案这个错误是因为封面栏目没有权限输入这个是解决了在控制器中的文章在params_article中只能操作标题和正文这也给它加上了栏目封面给我我一直这样

代码语言:javascript
复制
Def articulo_params params.require (: article) .permit (: title,: body,: cover)
End
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6718368

复制
相关文章

相似问题

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