Rails CMS与自定义类型

时间:2011-09-26 21:42:47

标签: ruby-on-rails content-management-system customization

我来自.NET世界,也有一些PHP背景。 我目前正在开发Ruby on Rails,我正在使用Rails 3.1和Ruby 1.9.2。

我一直在研究Rails CMSs,但对我一直在寻找的东西并没有太多运气。

我正在寻找的一个功能是能够使用自定义字段创建自定义类型,因为我可以使用.NET上的Sitecore和N2CMS,以及PHP上的Drupal和Joomla。

具有此功能的Ruby on Rails有什么好的选择吗? 如果没有,是否可以在任何Rails CMS中轻松实现?

3 个答案:

答案 0 :(得分:3)

查看Locomotive

它有Custom content types

答案 1 :(得分:2)

我经历了同样的挣扎,最后在Rails上从头开始自己构建了一些东西 - 它比我想象的容易得多。

例如,我的所有普通页面都按照以下方式进行路由:

get '/:slug' => 'page#show', as 'page_path'

但我也有自定义数据类型,例如'events'。这些是他们自己的模型,因为我现在只通过ajax与他们互动:

get '/events/:year/:month' => 'events#get_by_year_and_month, :as => 'get_events_by_year_and_month'

所有内容编辑都受到:admin命名空间后面的Devise的保护:

namespace :admin do
  resources :pages
  resources :events
end

等等。如果你对HTML和CSS不够舒服,不能为管理员的东西构建一个漂亮的用户界面,那可能不是一个好主意,但那里有很多模板和例子。

答案 2 :(得分:1)

我最近使用名为Refinery的CMS构建了一个网站。 http://www.refinerycms.com

在Refinery中,您可以根据需要构建自己的引擎来处理自定义类型/字段。以下是他们如何实现这一目标的快速入门指南:

http://refinerycms.com/guides/getting-started-with-refinery#extending-refinery-with-your-first-engine

Refinery(imo)唯一的缺点是,如果你暴露部分代码以便你可以自定义它(你可以通过从Gem复制零件(视图,控制器等)并进入普通的Rails应用程序来实现这一点目录结构),它会在更新Refinery Gem时为您提供一个绊脚石。