ste*_*ecd 4 ruby-on-rails activeadmin
我使用ActiveAdmin创建了一个自定义页面,如下所示:
ActiveAdmin.register_page "message_list" do
controller do
def index
@collection = client().account.messages.list.sort_by{ |message| Date.rfc2822(message.date_sent) }.reverse
render :layout => 'active_admin'
end
end
end
Run Code Online (Sandbox Code Playgroud)
我创建了一个index.html.erb文件,其中包含我要在此页面上显示的表.然而,这不是最佳的.如何使用也带有分页的活动管理标准表格布局并将其与我的表格信息一起显示?我知道ActiveAdmin PageDSL Class不包含#index,因此我不能简单地做到:
index do
selectable_column
id_column
column :to
column :from
default_actions
end
Run Code Online (Sandbox Code Playgroud)
除了在自定义页面上实现ActiveAdmin的表格布局外,如何更改页面本身的标题?截至目前,它被称为"索引".
Cha*_*esh 11
一种更简单的方法是为您的消息类定义ActiveAdmin资源Message,并将操作限制为仅允许:index.
ActiveAdmin.register Message do
actions :index
index do
selectable_column
id_column
column :to
column :from
default_actions
end
controller do
def scoped_collection
super.where(account_id: account.id).order(:date_sent)
# Or provide a custom collection similar to the current implementation:
# client().account.messages.list.sort_by{ |message| Date.rfc2822(message.date_sent) }.reverse
end
end
end
Run Code Online (Sandbox Code Playgroud)
如有必要,还可以通过为方法提供:as选项来重命名资源#register:
ActiveAdmin.register Message, as: "Account Message" do
# ...
end
Run Code Online (Sandbox Code Playgroud)
如果您可以使用ActiveAdmin资源而不是自定义页面来接受,那么答案很好,但是可以通过Arbre在自定义页面上获取索引样式表:
<%=
Arbre::Context.new({}, self) do
table_for(client().account.messages, sortable: true, class: 'index_table') do
column :id
column :created_at
end
end
%>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6267 次 |
| 最近记录: |