作業中のアプリの管理インターフェイスに Activeadmin を使用しています (気に入っています)。リソース表示ページの右上隅にある [新しいリソース] リンクを無効にする方法があるかどうか知りたいです。
私が使用している特定のリソースは別のリソース内にネストされており、その親リソースの表示ページから作成できる部分があります。
メニューでリソースを無効にしましたが、リソースをメニューに残したままにして、親リソースを調べてリソースを見つけなくてもリソースを表示/編集/削除できるようにします。
作業中のアプリの管理インターフェイスに Activeadmin を使用しています (気に入っています)。リソース表示ページの右上隅にある [新しいリソース] リンクを無効にする方法があるかどうか知りたいです。
私が使用している特定のリソースは別のリソース内にネストされており、その親リソースの表示ページから作成できる部分があります。
メニューでリソースを無効にしましたが、リソースをメニューに残したままにして、親リソースを調べてリソースを見つけなくてもリソースを表示/編集/削除できるようにします。
以前の解決策は私にはうまくいきませんでした、それでここに一般的な解決策があります、それは常に働きます:
ActiveAdmin.register Book do
actions :index
#or like that
#actions :all, :except => [:destroy]
index do
column :title
column :author
end
end
へのリンクおよび表の上にある他のconfig.clear_action_items!リンクを削除してみてくださいNew
私はこれが古い質問であることを知っていますが、私はそれを思いついた (同じ問題を抱えていた) だけで、config.clear_action_items!とactions :all, :except => [:new]が根本的に異なることに気付きました。
config.clear_action_items!Newインデックスページからボタンを削除しますがactions :all, :except => [:new]、ボタンとルートの両方を削除します。つまり、別の場所から呼び出すことはできません(私の場合は必要です)。
これは私がしました:
controller do
def action_methods
if some_condition
super
else
super - ['new', 'create', 'destroy']
end
end
end
可能なアクションの一部を無効にします。action_methodsは 7 つの標準 CRUD アクションの配列を返すため、不要なものを差し引くことができます
あるいは:
ActiveAdmin.register Purchase do
config.clear_action_items!
actions :index
end
Worked for me too ! :-)
ActiveAdmin.register AssetSumView do
menu :label => "Asset Summary View", :parent => "Things"
# no button for NEW (since this is a db view)
#---------------------------------------------------------------------------------------------
config.clear_action_items!
enter code here
action_item do
link_to "Assets" , "/admin/assets"
end
action_item do
link_to "AssetCatgCodes", "/admin/asset_catg_codes"
end
#---------------------------------------------------------------------------------------------