0
我剛剛在我的Rails應用程序上安裝了回形針,並獲得它上傳圖像,但它仍然只顯示圖像名稱和一個破碎的圖像圖標,而不是顯示實際的URL。Rails回形針顯示圖像標題,而不是圖像
我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
我的表格/顯示器看起來像這樣(的的if/else是#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