我正在使用Rails插件'paperclip'迈出第一步,因此观看了RailsCast#134:http://railscasts.com/episodes/134-paperclip
除了我正在运行rails 3.0.9并通过将其添加到Gemfile而安装了paperclip(2.3.15)之外,其他方面都是相同的。
直到演出3点,一切正常。但是在重新加载节目页面后,我得到了“缺失”的图像,而不是上传的图像。此外,在'public'目录中没有创建任何新内容。
任何提示?
更新:根据要求提供相关代码:
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
在使用脚手架“书”后,我开始使用“rails generate paperclip book cover”
答案 0 :(得分:2)
我认为attr_accessor :cover_file_name
会为具有相同名称的表列创建冲突。尝试删除该行。找不到任何可能导致任何问题的事情。
答案 1 :(得分:-1)
Def articulo_params params.require (: article) .permit (: title,: body,: cover)
End