2016-05-14 9 views
0

私は自分のレールアプリにPaperclipをインストールして画像をアップロードしましたが、実際のURLを表示するのではなく画像名と壊れた画像アイコンしか表示しません。RailsペーパークリップImage Titleではなくイメージのタイトルを表示

user.rbモデルは示しています

has_attached_file :avatar, 
    :path => ":rails_root/public/system/:attachment/:id/:style/:filename", 
    :url => "/system/:attachment/:id/:style/:filename", 
    :styles => { :medium => "300x300>", :thumb => "100x100>" }, 
    :default_url => "/avatars/default_:style_avatar.png" 

    validates_attachment_content_type :avatar, content_type: /\Aimage\/.*\Z/ 

マイusers_controller.rbショー:

def create 
    @user = User.create(user_params) 
    ... 
end 

... 

    private 

def user_params 
    params.require(:user).permit(:avatar) 
end 

そして、私のフォーム/ディスプレイは、この(/他のトラブルシューティングの目的のために#EDされている場合)のようになります。

<%# if current_user.avatar != nil %> 
    <%= image_tag @user.avatar.url(:thumb) %> 
<%# else %> 
    <p>Looks a little impersonal...<br>Wanna upload a profile picture:</p> 
    <%= form_for @user, url: user_path, html: { multipart: true } do |form| %> 
     <%= form.file_field :avatar %> 
     <%= form.submit "Upload Picture", class: "btn btn-primary" %> 
    <% end %> 
<%# end %> 

私はschema.rbファイルをチェックインしました。そしてユーザテーブルに:avatarを追加するための移行が成功しました:

create_table "users", force: :cascade do |t| 
    t.string "first_name" 
    t.string "last_name" 
    t.string "email" 
    t.string "password_digest" 
    t.datetime "created_at",   null: false 
    t.datetime "updated_at",   null: false 
    t.integer "role" 
    t.string "slug" 
    t.string "avatar_file_name" 
    t.string "avatar_content_type" 
    t.integer "avatar_file_size" 
    t.datetime "avatar_updated_at" 
end 

add_index "users", ["slug"], name: "index_users_on_slug", unique: true 

しかし、私は、アップロードされた画像が保存されているどこにも表示されません。私もinitializersフォルダに関連するクリップが何も表示されないので、おそらく宝石のインストールと関係がありますか?どんな助けもありがとう。

答えて

0

画像が正しくアップロードされている場合は、パブリックディレクトリ内にコピーしている必要があります。

あなたが試みることができるもう一つのことは、新しいモデルを作成してphotosと言うことです。そして、彼らの団体はuser, has_many :photosのようなもので、あなたのアバターを写真モデルに添付してください。

+0

これは興味深い部分です。パブリックディレクトリに保存された写真(エラーメッセージ以外)はありません。 – Liz

関連する問題