2013-09-24 59 views
14

Tôi có ứng dụng 3 đường ray với đá quý ActiveAdmin. Mục tiêu của tôi là tạo một bộ điều khiển tùy chỉnh hiển thị trong chế độ xem tùy chỉnh để giữ cho bố cục đó được bố trí.Chế độ xem tùy chỉnh ActiveAdmin giữ lại bố cục ActiveAdmin

tôi đã thành công để thực hiện một bộ điều khiển tùy chỉnh render trong quan điểm tùy chỉnh với mã này:

pages.rb:

ActiveAdmin.register_page 'Pages' do 

    content only: :index do 
    render 'index' 
    end 

    content only: :edit do 
    render partial: 'edit' 
    end 

    controller do 
    def index 
     @search = Page.includes(:translations).where("page_translations.locale='fr'").metasearch(params[:search]) 
     @pages = @search.page params[:page] 
    end 

    def edit 
     @page = Page.find params[:id] 
    end 
    end 
end 

Và ví dụ tập tin index.html.erb tôi:

<h1>Pages</h1> 
<%= form_for @search, :url => admin_pages_path, :html => {:method => :get, :class => "form-inline" } do |f| %> 
    <%= f.text_field :translations_name_contains , :class => "search-query input-medium focused" %> 
    <%= f.submit("Search", :class => "btn btn-primary") %> 
<% end %> 

<table> 
    <thead> 
    <tr> 
     <th><%= sort_link @search, :translations_name, "Titre" %></th> 
     <th><%= sort_link @search, :permalink, "Permalien" %></th> 
     <th>Actions</th> 
    </tr> 
    </thead> 
    <tbody> 
    <% @pages.each do |page| %> 
     <tr> 
     <td><%= page.name %></td> 
     <td><%= page.permalink %></td> 
     <td><%= link_to("Update",edit_admin_page_path(page)) %></td> 
     </tr> 
    <% end %> 
    </tbody> 
</table> 

Có phương tiện nào để giữ bố cục ActiveAdmin không?

Trả lời

7

Sự cố được giải quyết. Chỉ cần thêm layout 'active_admin' mã của bạn:

controller do 
    layout 'active_admin' # <-- here 
    def index 
    @search = Page.includes(:translations).where("page_translations.locale='fr'").metasearch(params[:search]) 
    @pages = @search.page params[:page] 
    end 

    def edit 
    @page = Page.find params[:id] 
    end 
end 
+3

Điều này không hoạt động nữa ... – MFrazier

+2

@MFrazier Bạn có thể giải thích hoặc liên kết đến lý do không? – Pistos

+2

Không làm việc cho tôi. Nhận lỗi: 'undefined local variable hoặc method 'view_factory' cho: Arbre :: Context' – WarLord

3

đang ở đây: cho mô hình ít xem với bố trí quản trị

ActiveAdmin.register_page "myname" do 

    content only: :index do 
    render 'index' 
    end 

    controller do 
    def index 
    end 
    end 
end 

Sau đó thêm lần xem dưới app/views/admin/myname/ như _index.html.erb