Xin lỗi nếu điều này đã được hỏi và trả lời đầy đủ ở đâu đó. Không chắc chắn nếu tôi đang tìm kiếm với Rails chính xác nói cho câu hỏi này.Cách tạo một biểu mẫu Rails với các trường biểu mẫu động từ một bảng cơ sở dữ liệu?
Tôi muốn tạo biểu mẫu Đường ray dựa trên các trường được lưu trữ trong cơ sở dữ liệu. Dưới đây là những gì các mô hình của tôi trông giống như vậy cho đến nay.
class Field < ActiveRecord::Base
belongs_to :form
end
class Form < ActiveRecord::Base
has_many :fields
end
Mô hình trường rất đơn giản như bây giờ với loại: chuỗi và cột bắt buộc: boolean. Tên là tên của điều khiển mà tôi muốn tạo (hộp văn bản, hộp kiểm, radiobutton). Lý tưởng nhất là tôi muốn làm một cái gì đó như thế này:
<%= form_for [something here] do |f| %>
<% @fields.each do |field| %>
<%= field.type %><br />
<% end %>
<% end %>
Tôi đang phải vật lộn với việc tìm kiếm một cách để thay thế dòng <% = field.type%> với một thẻ mà sẽ làm cho đúng field.type.
Điều này có khả thi không? Tôi có nên sử dụng một cột tải trọng tốt hơn trong mô hình trường lưu trữ các kiểu trường và các giá trị như json/xml không?
là loại: string lưu trữ nó như Rails phương pháp helper (như, radio_button)? Trong trường hợp đó, bạn có thể làm 'f.send (field.type, field.name)'. Nếu không, chỉ cần ánh xạ các giá trị kiểu của bạn tới Rails helpers, và sau đó bạn gửi đúng phương thức. – TuteC
Hiện tại tôi không lưu với các phương thức trợ giúp. Tôi mới làm quen với khái niệm nhưng nó nghe chính xác những gì tôi muốn làm! F.send() có trong một thẻ không? Ví dụ: <% = f.send (field.type, field.name)%>. Cảm ơn. –
Những gì @TuteC đề cập nên hoạt động – bruno077