有效管理信息中心
ActiveAdmin.register_page "Dashboard" do
menu :priority => 1, :label => proc{ I18n.t("active_admin.dashboard") }
content :title => proc{ I18n.t("active_admin.dashboard") } do
section h2 "Top Movie" do
table_for @top_ps.where('ptype = ?', 'movie') do |t|
column("Title"){|p| link_to p.title, admin_program_path(p.id)}
column "Start" do |p|
p.program_schedules.each do |schedule|
link_to distance_of_time_in_words(Time.now, schedule.start,true), admin_program_schedule_path(schedule.id)
end
end
end
end
end # content
end
如果我跑这个我得
[#<ProgramSchedule id: 746, program_id: 430, start: "2012-09-17 09:30:00", stop: "2012-09-17 10:30:00">,
#<ProgramSchedule id: 8124, program_id: 430, start: "2012-09-22 23:30:00", stop: "2012-09-23 00:30:00">]
而不是
<a href="/path">Start</a>
<a href="/path">Start</a>
我明白我错在哪里,但如何在一个块内执行该代码?
答案 0 :(得分:1)
此模板DSL称为Arbre。我不确定它是否在ActiveAdmin之外使用了很多。随着ActiveAdmin 0.5.0的发布,它被拆分为它自己的宝石https://github.com/gregbell/arbre
如果您不想处理它,您可以渲染部分。因此,在您的仪表板代码中添加类似
的内容section h2, "Top Movie" do
div do
render :partial => "admin/dashboard/top_movie"
end
end
然后
# /views/admin/dashboard/_top_movie.html.erb
<div style="width:300px;">
Normal arbitrary view code. <%=some_ruby%>
</div>
答案 1 :(得分:0)
= link_to distance_of_time_in_words(Time.now, schedule.start,true), admin_program_schedule_path(schedule.id)
或
<%= link_to distance_of_time_in_words(Time.now, schedule.start,true), admin_program_schedule_path(schedule.id) %>
分别取决于haml或erb。