07/09/2018, 15:30

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

0