在Rails中添加新页面到CMS

问题描述:

我更喜欢寻找最佳实践。我正在一个相当大的项目中工作。我正在做服务器端编码,而其他人正在进行设计。我们决定做一个内部风格的CMS,以便其他人可以对内容进行一些更改,而不更改风格。在Rails中添加新页面到CMS

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

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

这样的事情,我通常在/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 c在你的项目的根),你可以做CreateSamplePages.new.execute

+0

似乎有点恼人,如果你问我,但也许这是比创造更美好实际上是移民。我把它与以前的静态页面迁移,导致我们被迁移的静态网页数据库支持的网页,所以,对我来说,它适合该法案在那里。所以,如果我按照你的路线,那么我应该创建许多类或每次只是改变它,当我想添加一个新的类? – Allen