2012-07-17 3 views
0

activeAdmin 컨트롤러의 collection_action 부분 인 activeAdmin 사용자 정의 페이지에서 "의미 적 양식"태그의 URL을 어떻게 설정합니까?ActiveAdmin 수집 작업 경로

내가 가진 :

ActiveAdmin.register Item, :as => "MyItems" do 
    menu :parent => "My", :label => "My Items" 

    collection_action :add_me, :method => :post do 
    redirect_to "/" # just for testing 
    end 
end 

item.rb 사용자 정의 페이지 ActiveAdmin을 컨트롤러

ActiveAdmin.register_page "MyItemsCustomPage" do 
    content do 
    @items = Item.all 
    render "item", { :items => @items } 
    end 
end 

_item.html.erb (사용자 정의 페이지)

<%= semantic_form_for :item_add_me, :url => add_me_admin_items_path do |f| %> 
    <%= f.buttons :commit %> 
<% end %> 

그리고 관례에 간 후에

undefined local variable or method `add_me_admin_items_path' for #<#<Class:0x00000006c3ff40>:0x00000005f8bd80> 

이 BTW, admin_items_path에 대한 의미 론적 형태가 아니라 작업을 추가 항목에 대한 작동

: 페이지 나 오류가 있습니다.

추신. URL을 /admin/items/add_me으로 변경하고 :method:post으로 설정하면 라우팅 오류가 발생합니다. No route matches [POST] "/admin/items/add_me"

답변

1

발견 된 문제입니다.

item.rb에 :as => "MyItems"를 제거한 후 :

ActiveAdmin.register Item do 

모든 작품을 좋아.

0

여기서 문제는 ActiveAdmin.register Item, as: "MyItems"은 실제로 모든 메서드 이름에서 my_item 대신 my_items이되도록 모든 경로의 이름을 변경한다는 것입니다. 따라서 양식에서 add_me_admin_items_path 대신 add_me_admin_my_items_path을 사용할 수 있습니다.