私は自分のレールアプリに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
フォルダに関連するクリップが何も表示されないので、おそらく宝石のインストールと関係がありますか?どんな助けもありがとう。
これは興味深い部分です。パブリックディレクトリに保存された写真(エラーメッセージ以外)はありません。 – Liz