Dùng slim làm template engine cho trang web Ruby on Rails

Ruby on Rails Ruby Gem

Updated by Yuto Yasunaga at 2021/01/12 10:16

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

erb2slim app/views --d

Lệnh trên sẽ chuyển đổi toàn bộ file nằm trong đường dẫn app/views sang SLIM, -d (--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

Ngoài ra đây là trang web chuyển đổi HTML -> SLIM online:

https://html2slim.herokuapp.com


Back