Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
[RailsGirlsDanang] Bài tập về nhà
Confession viết bằng Ruby on Rails
Thể theo yêu cầu, em đã chia bài tập về nhà ra riêng và sau đây homework của em ạ
Làm gì đầu tiên ta? Clone repo về máy? Hổm đi Rails Girls có sẵn rồi hà, thôi để im vậy làm tiếp hehe.
Hừm, mình đang ở đâu vậy nè?
pwd
cái nào ^^
/home/asus/clone/railsgirldanang_helloruby/project
Ừm, đến đúng chỗ mình muốn rồi, bắt đầu nào.
Bước 1: Tạo mới dự án bằng lệnh sau
rails new confession
Lệnh này sẽ xây dựng cho chúng ta tất cả những gì cần thiết và cơ bản nhất của một dự án rails. Có mấy chữ thôi mà tạo ra nhiều thứ vầy, hay quá ta ^^
Bước 2: Chuyển vào thư mục confession
cd confession
Cái này mình hay bị quên nhứt nè TT cứ như ở Đà Nẵng chưa lên máy bay mà đã đòi đi Suối Tiên liền vậy đó TT
Bước 3: Các bạn khởi động server bằng lệnh rails server
hoặc ngắn hơn là rails s
và vào browser gõ localhost:3000 để xem thử nhé. Màn hình sẽ hiện lên Welcome aboard nhé.
Bước 4: Hôm trước anh chị coach xài cái gì ý nhỉ? À là scaffold. Scaffolding là một công cụ Rails hỗ trợ người dùng giúp tự động sinh ra Model, Controllers, Views và một số thành phần khác trong test, helper, assets..., nó rất hữu ích cho beginners để nghiên cứu và hiểu Rails hơn. Sử dụng bằng cú pháp bên dưới, khai báo các trường dữ liệu.
rails generate scaffold confession title:string description:text picture:string
Bước 5: Tạo cơ sở dữ liệu nào.
rake db:create
rake db:migrate
Wow, nhanh quá, quá sức nhanh luôn ^^ Chưa chi hết mà có thể xài rồi, không tin các bạn rails s
rồi localhost:3000/confessions
để kiểm tra nhé.
Bước 6: Sử dụng carrierwave để up ảnh nè, lỡ bạn nào muốn gửi cho mình trái tim hay bó hoa thiệt bự còn có chỗ mà add nèn hehe
- Các bạn vào rubygems.org và gõ tìm và chọn carrierwave. Nó sẽ cung cấp cho bạn 2 sự lựa chọn: gemfile và install. Copy cái gemfile
gem 'carrierwave', '~> 0.10.0'
và paste vào Gemfile của project. - Trở lại command line và
bundle install
hoặcbundle
để cài đặt gem vừa thêm vào nhé. - Tiếp theo, các bạn run
rails generate uploader Picture
lệnh này sẽ tạo ra cho bạnapp/uploaders/picture_uploader.rb
- Tiếp nữa là đến phần Active Record. Ý quên, khi nãy ở bước 4 mình đã lỡ thêm trường picture rồi, nếu các bạn chưa khai báo trường đó thì mình tiếp tục với lệnh
rails g migration add_picture_to_confessions picture:string
xong rồirake db:migrate
hen. - Rồi, gần xong rồi, còn có bước nữa thôi à. Chuyển đến model Confession và thêm vào dòng
mount_uploader :picture, PictureUploader
- Các bạn có thể xem thêm document của carrierwave để biết thêm chi tiết nheng.
Bước 7: Chỉnh sửa phần views lại cho hợp ý bạn, nhớ thêm cái button để post ảnh hen, style cho đẹp đẹp rồi chuẩn bị push code lên thôi.
Bước 8: push code lên github (cái này là mình đang sử dụng repo đã tạo và đã clone về máy nha)
-
git add .
để add tất cả mọi thứ vào local git -
git status
để check thông tin các file đã add, sửa hoặc xóa -
git commit -m "Your message goes here"
để ghi chú các thông tin của lần push code này -
git push origin master
rồi chờ code được push lên nào. Ý quên, còn cái name với password nó yêu cầu thì bạn cứ nhập vào bình thường nhé ^^
Xong rồi, bạn nào thích thì deploy lên heroku nheng, bạn nào hảo tâm share link mình tham khảo với, mình hứa sẽ gửi cho bạn trái tim thiệt bự à ^^
Bên dưới là link repo code của mình nha. Mình đã edit chút xíu ở routes nên khi localhost:3000
sẽ không còn cái Welcome aboard mà sẽ cho kết quả như khi bạn localhost:3000/confessions
nheng. Xí quên, trong repo của mình confession
đã được thay bằng message
nha, mình lỡ tay hehe. Khiếu thẩm mỹ kém nên hơi xấu tẹo, nhưng mà hổng sao, mặt tiền nó xấu nhưng cơ cấu cũng không đến nổi nào hehe. Có chỗ nào sai hoặc chưa đúng cho mình ý kiến để mình edit nhé.
https://github.com/bichhuynguyen/railsgirldanang_helloruby





