Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 活动管理操作项/成员操作_Ruby On Rails 3_Activeadmin - Fatal编程技术网

Ruby on rails 3 活动管理操作项/成员操作

Ruby on rails 3 活动管理操作项/成员操作,ruby-on-rails-3,activeadmin,Ruby On Rails 3,Activeadmin,因此,我有一个批处理操作,它工作得非常好。但现在我希望通过单击右侧的按钮(如查看/编辑/销毁)可以使用相同的操作。但我似乎不能把它弄对 # app/admin/subscriptions.rb ActiveAdmin.register Subscription do ... batch_action :approve_selected do |subscriptions| subscriptions.each do |subscription| Subscription.

因此,我有一个批处理操作,它工作得非常好。但现在我希望通过单击右侧的按钮(如查看/编辑/销毁)可以使用相同的操作。但我似乎不能把它弄对

# app/admin/subscriptions.rb
ActiveAdmin.register Subscription do
...
  batch_action :approve_selected do |subscriptions|
    subscriptions.each do |subscription|
      Subscription.find(subscription).approve
    end
    redirect_to :back
  end

  member_action :approve do
    Subscription.find(params[:id]).approve
    redirect_to :back
  end

  action_item :only => :show do
    link_to('Approve', approve_admin_subscription_path(subscription))
  end
...
end
“查看”、“编辑”或“删除”旁边不显示带有此代码的按钮。我想这是因为我正在使用
:only=>show
,所以我将其取下或使用
only:index
,但两者都给出了以下错误(我无法找到太多关于它的信息):

找到了答案。您可以使用以下代码和问题中的代码(删除操作项块)来完成此操作

但我认为有一种方法可以做到这一点,那就是在默认操作之后附加一个操作(因此,如果您知道如何做,那么请添加另一个答案!)

此外,要删除默认设置,您可以按如下方式更改:


这可以通过以下方式完成:

ActiveAdmin.register Post do
  index do
    column :name
    actions defaults: true do |post|
      link_to 'Archive', archive_admin_post_path(post)
    end
  end
end

请注意,使用
默认值:true
会将您的自定义操作附加到活动的管理员默认操作。

对于登录页面的朋友,为了附加多个链接

做一些类似于:

    actions default: true do |model|
        [
            link_to('Option 1', "#"),
            '  ',
            link_to('Option 2', "#")
        ].reduce(:+).html_safe
    end

索引下执行
写入

actions dropdown: true do |category|
  item 'Archive', archive_admin_post_path(post)
end

我现在不能测试这个,但我会接受的,因为它看起来很好。如何添加多个动作?如批准和拒绝而不使用更多do end..?使用连接。您只需确保返回安全的html:
(link\u to…+link\u to…。html\u safe
actions :defaults => false do |subscription|
ActiveAdmin.register Post do
  index do
    column :name
    actions defaults: true do |post|
      link_to 'Archive', archive_admin_post_path(post)
    end
  end
end
    actions default: true do |model|
        [
            link_to('Option 1', "#"),
            '  ',
            link_to('Option 2', "#")
        ].reduce(:+).html_safe
    end
actions dropdown: true do |category|
  item 'Archive', archive_admin_post_path(post)
end