sep*_*err 6 ruby-on-rails activeadmin
这可能是非常简单的事情,但我似乎无法弄清楚为什么我的收集行动没有显示出来.根据文档,我需要做的就是调用传递给寄存器的块中的collection_actions方法.我想在我的用户的管理页面中添加一个名为"Notify All"的操作.这是代码:
ActiveAdmin.register User do
menu :label => "Users", :priority => 3
filter :twitter_id
filter :facebook_id
filter :created_at
filter :allows_notifications
filter :created_at
actions :all, except: [:destroy, :new]
collection_action :notify_all, :method => :post do
puts "notifying...."
end
batch_action :flag do |selection|
puts "flagging...."
end
index do
selectable_column
column "", :sortable => false do |user|
"<img src='#{user.avatar_url}' alt='user avatar' style='width:24px; height:24px;'/>".html_safe
end
column :uuid
column :twitter_id
column :facebook_id
column :allow_notifications do |user| user.allow_notifications ? "true" : "false" end
column :blocked do |user| user.blocked ? "true" : "false" end
column :created_at
default_actions
end
form do |f|
f.inputs :allow_notifications,:blocked
f.buttons
end
show do
attributes_table do
row "Avatar" do |user|
"<img src='#{user.avatar_url}' alt='user avatar'/>".html_safe
end
row :uuid
row :twitter_id
row :facebook_id
row :allow_notifications do |user| user.allow_notifications ? "true" : "false" end
row :blocked do |user| user.blocked ? "true" : "false" end
row :created_at
row "Active Events" do |user| user.active_events.size end
row "Conversations" do |user| user.conversations.size end
row "Comments" do |user| user.comments.size end
end
active_admin_comments
end
end
Run Code Online (Sandbox Code Playgroud)
我没有在用户页面上的任何位置看到notify_all操作:

虽然路线在那里.我是否需要自定义索引视图以添加收集操作?
Mun*_*sim 13
是的,您必须在user.rb配置中添加一些内容
action_item :only => :index do
link_to('Notify All', notify_all_admin_users_path)
end
Run Code Online (Sandbox Code Playgroud)
这将在"新用户"链接旁边的标题栏上添加一个链接