在Rails中向CMS添加新页面

时间:2013-01-15 03:21:06

标签: content-management-system ruby-on-rails-3.2 rails-migrations

我更喜欢寻找最佳实践。我在一个相当大的项目团队中工作。我正在进行服务器端编码,而其他人正在进行设计。我们决定使用内部风格的CMS,以便其他人可以对内容进行一些更改,而无需更改样式。

我们需要添加一些新页面来为网站提供更多功能,但我正在寻找最佳实践。最初我考虑过使用db:seed命令,但这对于加载初始数据而不是新页面更为重要。现在,我开始考虑使用迁移文件,但我认为,为了更改CMS页面而来回编辑迁移文件是一种不好的做法。

有关通过团队成员之间的数据库记录编辑静态页面的最佳实践的想法吗?

1 个答案:

答案 0 :(得分:0)

对于类似的东西,我通常在/lib中创建一些类来处理创建必要数据(如果它不存在)。你可以通过这样的方式确保这个过程是幂等的:

page = Page.find_or_create_by_name("blahdeblah")

其中“name”是页面的一些唯一标识符。

示例:

class CreateSamplePages
  def execute
    page = Page.find_or_create_by_name("blahdeblah", content: "This is an entirely awesome sample page.")
    ... (more stuff here)
  end
end

然后在rails控制台(项目根目录中的rails c)中,您可以执行CreateSamplePages.new.execute