Tôi có một đối tượng mô hình User
có thuộc tính permission
bị giới hạn bởi validates_inclusion_of
đến ['user','org_admin','site_admin']
. Khi thiết kế tạo/chỉnh sửa biểu mẫu cho đối tượng này, tôi không muốn nhân đôi danh sách này, trong trường hợp nó thay đổi sau này. Có một "Rails cách" để làm điều này, hoặc tôi nên chỉ cần trích xuất danh sách các giá trị hợp lệ vào một thuộc tính có thể truy cập từ bên ngoài của dụ?Làm cách nào để tạo một danh sách thả xuống các giá trị hợp lệ được đặt bởi validates_inclusion_of?
Q
Làm cách nào để tạo một danh sách thả xuống các giá trị hợp lệ được đặt bởi validates_inclusion_of?
5
A
Trả lời
4
Nếu tôi thực sự muốn làm việc với chuỗi, tôi có thể xác định một người dùng :: PERMISSIONS constance bao gồm các quyền được đề cập.
class User < ActiveRecord::Base
PERMISSIONS = ['user','org_admin','site_admin']
validates_inclusion_of :permission, :in => PERMISSIONS
end
Một hình thức đơn giản (sử dụng simple_form trong ví dụ)
simple_form_for(@user) do |f|
f.input :permission, :as => :select, :collection => User::PERMISSIONS
end
Nó sẽ càng gọn gàng để tạo ra một mô hình cho phép và chỉ lưu permission_id khi bạn tạo một người dùng mới.
Có lẽ có nhiều cách tốt hơn để làm điều đó vì vậy tôi mong chờ các câu trả lời khác.
Các vấn đề liên quan
- 1. Cách đặt danh sách thả xuống thành nhiều giá trị?
- 2. MVC3: Đặt danh sách thả xuống Giá trị đã chọn
- 3. Cách lọc các giá trị danh sách thả xuống bằng một danh sách thả xuống khác trong ASP.NET, C#
- 4. Giá trị enum dưới dạng danh sách thả xuống
- 5. danh sách liên kết để danh sách thả xuống, phải làm gì với giá trị?
- 6. Đặt một danh sách thả xuống
- 7. Làm cách nào để điền danh sách thả xuống có giá trị enum?
- 8. ASP.NET MVC nhận giá trị danh sách thả xuống
- 9. Làm cách nào để chỉ định thứ tự các giá trị trong danh sách thả xuống trong một Django ModelForm?
- 10. jquery get nhãn giá trị từ danh sách thả xuống
- 11. Html.ActionLink với giá trị id từ danh sách thả xuống
- 12. Chọn nhiều giá trị từ danh sách thả xuống
- 13. Lấy danh sách các giá trị từ danh sách thả xuống KHÔNG được chọn bằng cách sử dụng jquery
- 14. Cách tốt nhất để kiểm tra xem danh sách thả xuống có chứa giá trị không?
- 15. Hộp danh sách thả xuống gwt có thể có các giá trị theo cách thủ công?
- 16. Tôi làm cách nào để tạo danh sách thả xuống có thể chỉnh sửa trong HTML?
- 17. Hộp kết hợp Extjs: ẩn giá trị đã chọn từ danh sách thả xuống
- 18. cách đặt giá trị mặc định thành điều khiển danh sách thả xuống?
- 19. Làm cách nào để đặt giá trị trong menu thả xuống bằng Jquery?
- 20. Danh sách thả xuống Combobox
- 21. Danh sách thả xuống thả xuống Nguồn dữ liệu
- 22. Điền một danh sách thả xuống dựa trên việc chọn danh sách thả xuống khác
- 23. Zend Framework - Cài đặt 'chọn' giá trị trong danh sách thả xuống chọn hộp
- 24. Làm cách nào để nhận được văn bản của giá trị đã chọn của danh sách thả xuống?
- 25. Cách điền danh sách thả xuống HTML với các giá trị từ cơ sở dữ liệu
- 26. Danh sách Giá trị enum trong danh sách thả xuống php mysql
- 27. Linq Distinct() theo tên để điền một danh sách thả xuống với tên và giá trị
- 28. Cách lọc danh sách thả xuống trong quản trị viên của Django khi lựa chọn được thực hiện trên một danh sách thả xuống khác
- 29. Nhận giá trị thả xuống trong VBA và nhận tên của danh sách thả xuống ... không tìm thấy ở đâu?
- 30. Vòng lặp MVC trong dao cạo, danh sách thả xuống được tạo không có giá trị được chọn
Đây là cách tôi đang thực hiện ngay bây giờ, nhưng tôi không chắc đó có phải là cách "Railsiest" hay không. Nhân tiện, tôi không biết về điều ": as =>: select"; điều đó thật tuyệt vời! Cảm ơn vì sự trả lời. –
Vâng rằng: as =>: select sẽ chỉ hoạt động nếu bạn đang sử dụng các biểu mẫu đơn giản hoặc ngữ nghĩa, chỉ để xóa nó nếu nó không rõ ràng! :) Tôi hy vọng chúng tôi sẽ có một số ý kiến khác nhau để xem liệu có cách nào tốt hơn để làm điều đó không. – Maran