Dùng slim làm template engine cho trang web Ruby on Rails
Thông thường khi mới làm quen với Rails thì chúng ta vẫn dùng template engine mặc định là *.html.erb để viết. Hôm nay mình giới thiệu cho những bạn nào chưa biết về slim template engine, dùng slim để viết trang web sẽ tiết kiệm thời gian, và việc viết code cũng trở nên thoải mái hơn phần nào. ...
Thông thường khi mới làm quen với Rails thì chúng ta vẫn dùng template engine mặc định là *.html.erb để viết. Hôm nay mình giới thiệu cho những bạn nào chưa biết về slim template engine, dùng slim để viết trang web sẽ tiết kiệm thời gian, và việc viết code cũng trở nên thoải mái hơn phần nào.
Đây là trang web để các bạn tìm hiểu về SLIM: http://slim-lang.com/
Mình sẽ so sánh hai đoạn code, được viết bằng ERB thông thường và SLIM như sau:
.html.erb
<table> <% @users.each do |user| %> <tr> <td><%= user.name %></td> <td><%= user.email %></td> </tr> <% end %> </table>
.html.slim
table - @users.each do |user| tr td = user.name td = user.email
Như các bạn đã thấy ở trên, dùng SLIM tiết kiệm được rất nhiều thời gian để viết code, không những vậy còn giúp đoạn code chúng ta viết trông dễ nhìn, ngắn gọn và dễ hiểu hơn.
Cách sử dụng SLIM trong Ruby on Rails
Nếu chưa có gem html2slim thì cài đặt bằng cách:
gem install html2slim
Thêm gem slim-rails vào chương trình Rails:
Gemfile
gem 'slim-rails'
Slim hỗ trợ chức năng chuyển đổi file từ đuôi *.html.erb thành đuôi *.html.slim
Dùng lệnh: erb2slim app/views --delete
Lệnh trên sẽ chuyển đổi toàn bộ file nằm trong đường dẫn app/views sang SLIM, --delete có tác dụng xóa đi file cũ, nếu không thiết lập --delete thì sau khi chuyển đổi sẽ tồn tại song song 2 file đuôi .erb và .slim