0

activeAdminコントローラーのcollection_actionの一部であるactiveAdminカスタムページの「セマンティックフォーム」タグのURLを設定するにはどうすればよいですか?

私は持っています:

item.rb

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

カスタムページ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>

ところで、のセマンティックフォームはadmin_items_pathアイテム追加アクションに適しています。

PS。URLをに変更してを/admin/items/add_meに設定する:method:post、ルーティングエラーが発生します。No route matches [POST] "/admin/items/add_me"

4

2 に答える 2

1

問題が見つかりました。

:as => "MyItems"item.rb で削除した後:

ActiveAdmin.register Item do

すべて正常に動作します。

于 2012-07-17T12:59:36.413 に答える