[RailsGirlsDanang] Bài tập về nhà
RubyGirlsVietnam
14
Male avatar

bhuy.n viết ngày 02/07/2015

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 ạ :smile:

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ặc bundle để 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ạn app/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ồi rake 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é.
:smile:
https://github.com/bichhuynguyen/railsgirldanang_helloruby

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

bhuy.n

2 bài viết.
5 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
6 18
Lần đầu tiên em được tham gia RailsGirls & lần đầu tiên em viết bài trên Kipalog ^^ Thực ra thì trước khi tham gia event, em đã biết đến Ruby từ r...
bhuy.n viết 3 năm trước
6 18
Bài viết liên quan
White
8 1
Tiếp theo (Link) Mình sẽ hướng dẫn cách test căn bản cho API mình tạo. Thật ra mà nói thì mình phải viết test trước khi làm nhưng mà để tránh việc...
My Mai viết 3 năm trước
8 1
White
2 1
Xem qua một lượt các bài viết về Rails từ trước đến giờ chưa có bài nào viết về cách tạo một web application với Rails nên mình xin mạo muội viết m...
My Mai viết 3 năm trước
2 1
Male avatar
4 6
Gởi lời tri ân tới hội Rubygirls VN Tuy chỉ 2 ngày gặp gỡ, giao lưu nhưng em thật sự đã cảm nhận được tâm huyết của các anh chị trong hội Rubygirl...
ptnk1995 viết 3 năm trước
4 6
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
2 bài viết.
5 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!