2012-09-03 22 views
16

Tôi đang tạo chế độ xem tùy chỉnh của riêng mình mà tôi cần để tạo quy trình tạo mô hình được liên kết ít gây đau đớn cho người dùng của mình. Tôi muốn hiển thị tất cả các mô hình liên quan đến phần trong dòng, với các điều khiển để chỉnh sửa chúng. Điều này là khá dễ dàng để cuộn của riêng tôi cho các lĩnh vực cơ bản, nhưng tôi muốn sử dụng một phần form_filtering_select cho các hiệp hội của mô hình nội tuyến, nhưng tôi không thể tìm thấy bất kỳ tài liệu hướng dẫn để làm điều này.Sử dụng biểu mẫu rails_admin trong chế độ xem tùy chỉnh?

Trả lời

0

Có một viên đá quý tuyệt vời ở đó có khá nhiều thứ bạn muốn. Nó được gọi là Nested Form Fields. Nó cho phép bạn chỉnh sửa các bản ghi (cùng với các liên kết has_many của họ) trên một trang duy nhất. Điều thú vị về nó là nó thậm chí còn sử dụng jQuery để tự động thêm/xóa các trường biểu mẫu mà không cần tải lại trang. Thanh toán các đá quý docs để sử dụng phù hợp. Hy vọng rằng sẽ giúp!

+0

Tôi sẽ cung cấp cho bạn tiền thưởng nếu bạn thêm ví dụ bằng cách sử dụng Trường biểu mẫu lồng nhau. – max

1

Bạn có thể sử dụng Nested Form

Hãy xem xét một lớp người dùng mà trả về một mảng các trường hợp dự án từ các phương pháp dự án đầu đọc và phản ứng với các projects_attributes = phương pháp tác giả:

class User 
    def projects 
    [@project1, @project2] 
    end 

    def projects_attributes=(attributes) 
    # Process the attributes hash 
    end 
end 

Lưu ý rằng projects_attributes = nhà văn trên thực tế, phương thức được yêu cầu cho fields_for để xác định chính xác: các dự án như một bộ sưu tập và các chỉ mục chính xác được đặt trong đánh dấu biểu mẫu.

Khi dự án đã là một hiệp hội về tài khoản bạn có thể sử dụng accepts_nested_attributes_for để xác định phương pháp tác giả dành cho bạn:

class User < ActiveRecord::Base 
    has_many :projects 
    accepts_nested_attributes_for :projects 
end 

Mô hình này có thể được sử dụng với một fields_for lồng nhau. Khối trao cho các cuộc gọi fields_for lồng nhau sẽ được lặp lại cho mỗi trường hợp trong bộ sưu tập:

<%= nested_form_for @user do |user_form| %> 
    ... 
    <%= user_form.fields_for :projects do |project_fields| %> 
    <% if project_fields.object.active? %> 
     Name: <%= project_fields.text_field :name %> 
    <% end %> 
    <% end %> 
    ... 
<% end %> 

Ở đây sẽ là Reference để biết chi tiết.

+0

Bạn có một ví dụ về những gì tôi sẽ viết để xử lý băm thuộc tính trong ví dụ này? – pappy

Các vấn đề liên quan