2013-03-18 30 views
5

Sử dụng ActiveAdmin (0.5.1) Tôi muốn tạo nhiều biểu mẫu khác nhau để tạo đối tượng và lưu nó vào cơ sở dữ liệu của tôi. Tôi đang cố gắng làm điều này bằng cách sử dụng ActiveAdmin.register_page, nhưng tôi đang gặp sự cố khi cố gắng tạo biểu mẫu. Dường như trong khi sử dụng register_page, bạn không nhận được phương thức form giống như trong cuộc gọi register. Dưới đây là các mã:Active Admin tạo biểu mẫu trong register_page

ActiveAdmin.register_page "New Object" do 
    content do 
    para "Here you can create new objects!" 
    para "This content will be replaced with links to the specialized forms" 
    end 
end 

Và mã cho một trong các hình thức:

ActiveAdmin.register_page "Type 1" do 
    menu :label => "Type 1", :parent => "New Object" 

    content do 
    panel "Attributes" do 
     form do |f| 
     f.input :color 
     f.input :size 
    end 
    end 
end 

Tuy nhiên hình thức này sẽ không làm bằng bất cứ cách hoàn toàn khả thi. Ngoài ra f.inputs cũng như nhiều phương pháp khác mà bạn có thể thấy trong các ví dụ (như this) không hoạt động. Có thể tạo các biểu mẫu đầy đủ chức năng sử dụng ActiveAdmin#register_page không?

Trả lời

2

Để tạo biểu mẫu trong ngữ cảnh không chuẩn (nghĩa là không phải là thanh ghi tài nguyên), bạn cần sử dụng semantic_form_for của formtastic với các tùy chọn :url:builder được chỉ định.

content do 
    semantic_form_for MyObject.new, :url => admin_my_objects_url, :builder => ActiveAdmin::FormBuilder do |f| 
    f.inputs "My Object" do 
     f.input :color 
     f.input :size 
    end 
    f.actions 
    end 
end 

Điều này sẽ cung cấp cho bạn một bảng có nhãn "Đối tượng của tôi" chứa biểu mẫu cho đối tượng của bạn bằng nút gửi bên dưới.

+0

nhưng nếu bạn cho nó một đối tượng hiện có. các trường sẽ không được tự động điền với các thuộc tính của đối tượng. và thực sự, tôi chưa tìm được cách để làm điều đó. – shigazaru

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