0

paperclip と imagemagick をインストールし、モデルとビュー ファイルにコードを実装しました。「写真」という名前のデータベース列があり、写真をアップロードしたかどうかに関係なく空です。写真は実際に/public/system/decks/pictures/000/000/019/mediumフォルダに存在します。そこにアップロードされたすべての写真を見ることができますが、データベースが空であるため表示できません。

私のモデル:

class Deck < ActiveRecord::Base
  attr_accessible :picture

  has_attached_file :picture, :styles => { :medium => "300x300>", :thumb => "100x100>" }
  attr_accessor :picture_file_name
  attr_accessor :picture_content_type
  attr_accessor :picture_file_size
  attr_accessor :picture_updated_at

私の見解:

<%= form_for @deck,:url => decks_path, :html => { :multipart => true } do |f| %>
  <%= f.file_field :slika %>

私の移行:

class AddAttachmentPictureToDecks < ActiveRecord::Migration
  def change
    add_column :decks, :picture, :attachment
  end
end

そのため、前に述べたフォルダーに画像を取得しますがpicture、デッキテーブルの列は空です。で画像を取得できません。なぜなら、<%= image_tag @deck.picture.url(:medium) %>私の@deck.picture.urlは を保持しているからです。/pictures/original/missing.png@deck.picture.path@deck.picture.picture_file_name

ありがとうございました。

4

1 に答える 1

0

結局、古い構文と新しい構文を混ぜて、データベースでフィールドを正しく取得できなかったようです。attr_accessors は不要のようです

于 2012-08-04T10:50:29.407 に答える