[教學][JDStore] 輕鬆使用seed.db 產生「多圖片商品」

方法很簡單,把下面的代碼抄起來就好,但首先必須先安裝好七牛或AWS,否則照片上傳還是會存到Heroku而失效

預計時間:3分鐘

db/seeds.db
 # 建立 Admin User

if User.find_by(email: "a@a.com").nil?
  u = User.new
  u.email = "a@a.com"           # 可以改成自己的 email

  u.password = "123456"                # 最少要六码

  u.password_confirmation = "123456"   # 最少要六码

  u.is_admin = true
  u.save
  puts "Admin 已经建立好了,帐号为#{u.email}, 密码为#{u.password}"
else
  puts "Admin 已经建立过了,脚本跳过该步骤。"
end

# Initialize Product

Product.create!(
  id: 1, # 第二個商品id:2, Product_id:2, 以此類推

  title: "品名",
  description: "商品說明",
  price: 70,
  quantity: 45,
  )
# Initialize Product Photos

#下面兩個方法2選1

#方法1.先將照片上傳到iPic或其他位置,建議用這個方法

Photo.create!(product_id:1,avatar: open('http://位置1.jpg')) 
Photo.create!(product_id:1,avatar: open('http://位置2.jpg')) 

#方法2.照片在本地,先把照片放在 /app/assets/images/products 裡面一起推到heroku

#但git push heroku完要馬上跑seed.否則圖會被heroku刪除

Photo.create!(product_id:1,avatar: open(File.join(Rails.root, "/app/assets/images/products/1-1.jpg"))) 
Photo.create!(product_id:1,avatar: open(File.join(Rails.root, "/app/assets/images/products/1-2.jpg")))

只要改id圖片位置就可以,如果操作失敗就用db四兄弟重來一次就好
$ rake db:drop db:create db:migrate db:seed

上傳後如要重置heroku的內容使用以下指令
heroku pg:reset DATABASE
heroku rake db:migrate
heroku rake db:seed

這是我自己想出來的方法,如果有寫的不對的地方或是有什麼建議,都歡迎跟我交流,WeChatID:yitihua1302

建議商品做12~20個就好,太多不容易維護

也不要用隨機生成的方式,品名跟價格,圖片可能會對不起來。

延伸教學 - [JDStore] 3分鐘輕鬆做出「一個商品多張圖片」功能



希望您喜歡這篇文章,請抽空幫我投一票,謝謝!



如果获得2等奖,我会从投票给我的VIP学员里抽出1位赠送这本有香气的励志书


comments powered by Disqus