Trong Rails, các actions đại diện cho các hành động cụ thể mà một controller có thể thực hiện. Các actions này thường được kết hợp với các routes để tạo ra các endpoint API hoặc trang web có thể truy cập. Dưới đây là một số loại action phổ biến và cách chúng được sử dụng:
1. Actions Cơ Bản:
- Index (index): Hiển thị danh sách của một tài nguyên.
def index # Logic để lấy danh sách tài nguyên và hiển thị
end
- Show (show): Hiển thị thông tin chi tiết về một tài nguyên cụ thể.
def show # Logic để lấy và hiển thị thông tin chi tiết
end
- New (new): Hiển thị form để tạo mới một tài nguyên.
def new # Logic để hiển thị form tạo mới
end
- Create (create): Xử lý dữ liệu từ form tạo mới và tạo mới một tài nguyên.
def create # Logic để xử lý dữ liệu và tạo mới tài nguyên
end
- Edit (edit): Hiển thị form để chỉnh sửa một tài nguyên.
def edit # Logic để hiển thị form chỉnh sửa
end
- Update (update): Xử lý dữ liệu từ form chỉnh sửa và cập nhật tài nguyên.
def update # Logic để xử lý dữ liệu và cập nhật tài nguyên
end
- Destroy (destroy): Xóa một tài nguyên.
def destroy # Logic để xóa tài nguyên
end
2. Custom Actions:
Bạn cũng có thể tạo các actions tùy chỉnh phản ánh các hành động đặc biệt không thuộc các actions cơ bản trên.
def custom_action # Logic cho action tùy chỉnh
end
3. Before Action và After Action
Before Action (before_action): Thực hiện một hành động trước khi action chính được thực hiện, thường được sử dụng để kiểm tra quyền truy cập hoặc xác thực người dùng.
before_action :authenticate_user
After Action (after_action): Thực hiện một hành động sau khi action chính đã được thực hiện, thường được sử dụng để ghi log hoặc thống kê.
after_action :log_activity
Tổng kết
- Các actions được khai báo trong controller và được liên kết với các routes trong file config/routes.rb.
- Các actions thường tương ứng với các HTTP methods như GET, POST, PUT/PATCH, DELETE.
- Tùy thuộc vào cách bạn thiết kế ứng dụng, bạn có thể cần tạo ra các actions tùy chỉnh để đáp ứng yêu cầu cụ thể của ứng dụng bạn.