0

我更喜歡尋找最佳實踐。我正在一個相當大的項目中工作。我正在做服務器端編碼,而其他人正在進行設計。我們決定做一個內部風格的CMS,以便其他人可以對內容進行一些更改,而不更改風格。在Rails中添加新頁面到CMS

我們需要在添加一些新的頁面,使更多的功能到現場,但是我正在尋找這樣做的最佳實踐。最初我想過使用db:seed命令,但更重要的是加載初始數據,而不是新頁面。現在,我開始考慮使用遷移文件,但是我認爲,對CMS頁面的更改來回編輯遷移文件是一種不好的做法。

爲通過團隊成員之間的數據庫記錄編輯靜態頁面的最佳實踐有什麼想法?

回答

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 c在你的項目的根),你可以做CreateSamplePages.new.execute

+0

似乎有點惱人,如果你問我,但也許這是比創造更美好實際上是移民。我把它與以前的靜態頁面遷移,導致我們被遷移的靜態網頁數據庫支持的網頁,所以,對我來說,它適合該法案在那裏。所以,如果我按照你的路線,那麼我應該創建許多類或每次只是改變它,當我想添加一個新的類? – Allen