如果要编辑的对象具有特定状态,我想隐藏编辑路径。

我怎样才能做到这一点?

最佳答案

我终于做到了。我需要两件事:

直接访问时重定向并隐藏到编辑页面的按钮。

要在用户尝试直接访问编辑页面时重定向,请使用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

关于ruby-on-rails - ActiveAdmin操作项取决于数据状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12680145/

10-13 05:29