Refinery CMS中的自定义字段

Avi*_*hai 0 ruby ruby-on-rails content-management-system refinerycms

如何在Refinery CMS中添加自定义字段?也就是说,我想扩展基本页面模型以包含一些其他内容,例如截图,发布者名称,类别和各种其他字段.你是如何实现的?

Mar*_*n M 7

要扩展炼油厂的基本模型,生成引擎并不总是一种选择.

我通过日期字段扩展了页面模型

  • 迁移页面表
  • 猴子补丁页面模型
  • 在表单中添加(实际上是展开)部分

详细地:

rails g migration AddDateToPage event_date:date
rake db:migrate
Run Code Online (Sandbox Code Playgroud)

添加app/models/page.rb

require Refinery::Pages::Engine.config.root + 'app' + 'models' + 'page'
class Page
  attr_accessible :event_date
end
Run Code Online (Sandbox Code Playgroud)

它扩展了Page模型,以便我的自定义字段由批量分配设置(感谢http://railsrx.com/2011/04/15/overriding-refinery-extending-globalize-and-pow/ for require语句).

现在创建文件app/views/admin/pages/_form_fields_after_title.html.erb,这是炼油厂提供的存根.您也可以使用它创建它

rake refinery:override view=admin/pages/_form_fields_after_title
Run Code Online (Sandbox Code Playgroud)

这里我定义了表单字段(f由炼油厂用form_for对象设置)

<div class="field">
  <%= f.label :event_date, t('admin.pages.event_date') %>
  <%= f.text_field :event_date %>
</div>
Run Code Online (Sandbox Code Playgroud)

重新启动应用程序后,新字段处于活动状态.