回答
您可以在控制器中創建一個只適用於編輯操作的before_filter
。它可以檢查狀態,並允許它運行或取決於方法的返回。
像這樣的事情在你的應用程序控制器:
def some_method
if foo.bar == true
redirect_to foos_path
end
end
然後在你的問題的控制器的開始
before_filter :some_method, :only => :edit
如果u要隱藏的「編輯」鏈接(在active_admin觀點)如果對象具有某個特定值,則可以覆蓋方法的默認視圖並在顯示鏈接之前添加條件。
如果在索引操作談論隱藏了默認顯示的編輯鏈接(連同查看和刪除鏈接),你可以自定義索引視圖如下:
ActiveAdmin.register Model do
index do
column :actions do |object|
raw(%(#{link_to "View", [:admin, object]}
#{link_to "Delete", [:admin, object], method: :delete}
#{(link_to"Edit", [:edit, :admin, object]) if object.status? }))
end
end
end
因爲該列的內容將僅爲column
塊返回的內容,您需要將所有三個(或兩個)鏈接一次返回爲一個字符串。這裏使用raw
,以便顯示實際的鏈接,而不是鏈接的html。
感謝您的回答!如果你可以添加提示刪除,那將會很棒。 –
我終於做到了。我需要兩件事:
直接訪問時重定向並隱藏按鈕到編輯頁面。
重定向當用戶試圖直接進入編輯頁面我用的before_filter:
before_filter :some_method, :only => [:edit, :update]
def some_method
redirect_to action: :show if status == something
end
若要隱藏按鈕我不喜歡這樣寫道:
ActiveAdmin.register Model do
config.clear_action_items!
action_item :only => [:show] , :if => proc { instance.status == something } do
link_to 'Edit', edit_model_path(instance)
end
end
'instance'應該是'model'(snake_case中的模型名稱)。 – ypresto
這可以實現使用以下內容:
ActiveAdmin.register Object do
index do
column :name
actions defaults: true do |object|
link_to 'Archive', archive_admin_post_path(post) if object.status?
end
end
end
請注意,使用defaults: true
將附加您的客戶tom操作以激活管理員默認操作。
- 1. 詹金斯:使項目狀態取決於子項目
- 2. 單數複數取決於狀態
- 3. 操作欄不顯示操作項目(全部處於溢出狀態)Android
- 4. 測試取決於$狀態的服務
- 5. 更改列表視圖中textview的背景取決於項目的狀態
- 6. 如何製作x86項目取決於VSTS2010中的AnyCPU項目?
- 7. 更改knockout.js選項文本取決於其選定的狀態
- 8. 取決於所選項目
- 9. 項目取決於com.google.android.support:wearable:2.0.2
- 10. Mojolicious動態路由動作取決於狀態
- 11. 取決於狀態的兩個日期之間的分鐘數
- 12. Qml項目狀態:以前的狀態
- 13. TFS鎖定狀態的工作項目
- 14. Activeadmin - 帶參數的批量操作?
- 15. c#EventHandler取決於狀態轉換
- 16. 發佈這取決於用戶狀態
- 17. 芹菜任務狀態取決於CELERY_TASK_RESULT_EXPIRES
- 18. 修改UIButtons層取決於狀態
- 19. 取決於使用ivy的gradle項目
- 20. VLOOKUP取決於列表中的項目
- 21. 從數據庫中選擇數據取決於列表框中的項目c#
- 22. 切換取決於按鈕狀態的函數?
- 23. 項目的Gradle任務取決於其他項目的任務
- 24. 點擊狀態項目應該開始操作,但不會
- 25. 確定項目的狀態
- 26. 獲取操作欄的項目?
- 27. TFS 2010 API獲取工作項目的所有狀態
- 28. 如何讓我的Maven項目取決於非Maven項目?
- 29. Unnexpected項目-意見取決於項目的查詢
- 30. 驗證表格取決於操作
這是一個步驟,但我想隱藏編輯鏈接(在你的例子中)。 –
我改變了節目進行編輯。基本上,這將重新定向時,一些命中的編輯路徑,除非條件滿足你的期望。我認爲這是你想要做的。如果不是,請提供一些更詳細的信息,以便我們能更好地回答您。 – jameswilliamiii