វិធីសាស្រ្ត upload ឯកសារជាមួយ Rails

លោកអ្នកប្រហែលជាមានតម្រូវការដើម្បីអោយអ្នកចូលមើលវេបសាយ ផ្ទុកនូវឯកសារមួយចំនួនរបស់ពួគគេនៅលើម៉ាស៊ីនមេរបស់អ្នក។ Rails នឹងដោះស្រាយបញ្ហានេះបានយ៉ាងងាយស្រួល។ នៅពេលនេះ Techfree នឹងបង្ហាញពីរបៀបធ្វើដូចខាងក្រោម៖

១) ដំបូងត្រូវបង្កើតកម្មវិធី Rails ថ្មីមួយដែលមានឈ្មោះថា testfile ដោយពាក្យបញ្ជាដូចខាងក្រោម៖

rails new testfile -d mysql

២) រួចតំឡើងនូវ gem ទាំងពីរនេះ

gem install carrierwave
gem install bootstrap-sass

៣) បើកឯកសារ Gem របស់អ្នក ហើយធ្វើការបន្ថែម gem ទាំងនោះ (ដូចរូប)

upload

បន្ទាប់ពីបន្ថែមនូវ gem រួចហើយ អ្នកចាំបាច់ត្រូវដំណើរការពាក្យបញ្ជាដូចខាងក្រោម៖

bundle install

៤) បន្ទាប់មកបង្កើត model ដែលមាន string ពីរគឺ name និង attachment

រួចធ្វើការបង្កើតមូលដ្ឋានទិន្នន័យដោយពាក្យបញ្ជា៖

rake db:migrate

៥) បន្ទាប់មកបង្កើត controller ដូចខាងក្រោម

upload2

ឥឡូវនេះយើងមានរចនាសម្ព័ន្ធជាមូលដ្ឋានដែលបានកំណត់ឡើង។ រួចយើងចាំបាច់ត្រូវបង្កើត uploader ដែលទទួលបានពីការបង្កើត gem ឈ្មោះថា carrierwave ហើយវាប្រាប់ទៅ carrierwave ពីរបៀបនៃការរក្សាឯកសារ។ ជារួម វាមានមុខងារដំណើរការឯកសារទាំងអស់។ ដំណើរការពាក្យបញ្ជាខាងក្រោមដើម្បីបង្កើត uploader ៖

upload3

៦) បន្ទាប់មកបើកឯកសារ app/models/resume.rb ដើម្បីហៅ uploader ដោយបន្ថែមកូដដូចខាងក្រោម៖

upload5

៧) រួចទៅបន្ថែមកូដនៅ config/routes.rb ដូចខាងក្រោម៖

upload6

៨) បន្ទាប់មកបន្ថែមកូដនៅ controller ដូចខាងក្រោម៖

upload7

៩) រួចបន្ថែមការរចនារបស់ Bootstrap នៅក្នុង app/assets/stylesheets/resumes.css.scss

upload8

១០) រួចបើកឯកសារ app/views/layouts/application.html.erb ហើយបន្ថែមកូដដូចខាងក្រោម៖

១១) ចូលទៅ app/views/resumes/index.html.erb ហើយបន្ថែមកូដដូចខាងក្រោម៖

upload10

១២) រួចបន្ថែមកូដនៅ app/views/resumes/new.html.erb ជាមួយនឹងកូដរបស់ form ដូចខាងក្រោម៖

upload11

១៣) រួចដំណើរការ http://localhost:3000/ នៅលើកម្មវិធីមើលវេបសាយ នោះអ្នកនឹងបាន៖

upload12

១៤) ចុងក្រោយអ្នកត្រូវកំណត់ប្រភេទឯកសារ ដោយបន្ថែមកូដនៅ app/uploaders/attachment_uploader.rb ដូចខាងក្រោម៖

បន្ទាប់មកអ្នកដំណើរការកម្មវិធីមើលវេបសាយម្តងទៀត ហើយធ្វើការផ្ទុកនូវឯកសារម្តងទៀតដែលមិនមែនជាប្រភេទឯកសារដែលអ្នកបានកំណត់ នោះនឹងបង្ហាញដូចខាងក្រោម៖

upload14