Sử dụng cell trong Ruby on Rails
Bài đăng này đã không được cập nhật trong 9 năm
1. Giới thiệu
- Cell cho phép đóng gói các thành phần giao diện người dùng vào các view models. Đây là một lớp Ruby cơ bản giúp render các template. Hơn nữa, cell còn thích hợp với các mô hình hướng đối tượng, đa hình, kế thừa, nesting...Có thể sử dụng rails helper để đóng gói JS, CSS, image, simple distribution sử dụng gem hoặc rails engines.
2. Cấu trúc file
Cấu trúc các file trong cell được trình bày như sau:
app
├── cells
│ ├── comment_cell.rb
│ ├── comment
│ │ ├── show.erb
3. Sử dụng cell
Cell được sử dụng khá đơn giản với 3 phần chính
- Class:
class CommentCell < Cell::ViewModel
def show
render
end
end
Cũng có thể gộp nhiều cell trong một view bằng cách:
class CommentCell < Cell::ViewModel
def show
render + render(:additional)
end
end
- View: file
show.erb
tương tự các partial view thông thường - Render:
- Sử dụng cấu trúc sau để render
<%= cell(:comment, @comment) %> //render show
- Hoặc render các action khác kèm theo params:
<%= cell(:comment).(:index, volume: 99) %> //render index với params volume
- Render collection:
<%= cell(:comment, collection: comments, style: "awesome", volume: "loud") %>
4. Cài đặt cell
- Trong file Gemfile sử dụng:
gem "cells", "~> 4.0.0"
gem "cells-erb"
- Dễ dàng cài đặt bằng lệnh
bundle install
như cài đặt các gem khác - Khởi tạo cell bằng lệnh
rails generate cell comment
Như vậy, bạn đã có một cái nhìn tổng quan trong việc cài đặt và sử dụng Cell trong Rails
Thanks for reading!
All rights reserved