padrino管理页面的自定义模板

时间:2011-11-13 13:23:30

标签: ruby templates padrino

如何让padrino-admin页面生成器生成漂亮的自定义页面?

默认情况下,padrino-admin会生成非常难看的管理页面,完全无法维护:

.group
  =f.label :title
  =f.error_message_on :title
  =f.text_field :title, :class => :text_field
  %span.description Ex: a simple text

.group
  =f.label :name
  =f.error_message_on :name
  =f.text_field :name, :class => :text_field
  %span.description Ex: a simple text

--- more annoyingly redundant frak

.group.navform.wat-cf
  =f.submit pat(:save), :class => :button
  =f.submit pat(:cancel), :onclick => "window.location='#{url(:pages, :index)}';return false", :class => :button

我写了一个很好的AdminFormBuilder < AbstractFormBuilder,用set :default_builder, 'AdminFormBuilder'连接它,它从非常短的代码生成相同的管理页面:

= f.inputs :name, :surname, :email
= f.inputs :password, :password_confirmation, :as => :password
= f.input :role, :as => :select, :options => access_control.roles, :descr => 'a simple text'
= f.submits

现在我希望padrino g admin_page生成更多此类网页。我该怎么办?

2 个答案:

答案 0 :(得分:1)

有两种方法:

1)将您的自定义管理宝石复制作为实际padrino-admin的基础 2)fork项目(现在我们支持基于bootstrap的新管理员)应用您的更改并提交拉取请求。

顺便说一句,这份工作最有趣的文件是:https://github.com/padrino/padrino-framework/blob/master/padrino-admin/lib/padrino-admin/generators/admin_page.rb

答案 1 :(得分:0)

这是padrino-admin gem的一行补丁:https://github.com/ujifgc/padrino-framework/commit/b07399bdfbc15d05682237c64580e77558ac9fce

现在,我可以将原始templates文件夹的副本从padrino-admin-0.10.5/lib/padrino-admin/generators放到vendor/padrino-admin/generators,并享受我自己的管理页面模板。