2015-06-27 132 views
0

我希望能夠使用我的Rails應用發佈網頁。換句話說,有一個按鈕說「提交當前頁面」,當用戶按下這個按鈕時,應該有一個帶有自己url的新頁面。當您發佈新帖子時,會在帖子/ 1處生成新的網頁。Rails]動態生成靜態頁面

<div> 
Save me at /pages/one 
</div> 
<button>Make</button> 

<div> 
Save me at /pages/second 
</div> 
<button>Make</button> <- upon pressing this, there should be a new static page 

是否有一個約定遵循?

+0

你能解釋一下嗎?如果它們是動態生成的,它們在什麼意義上是靜態的?新的靜態頁面的內容將被保存在哪裏? – thebenedict

回答

0

Checkout rails從外部路由並查看「資源路由」。當某人發佈一篇新文章時,您可以在您的config/routes文件中設置資源路由時使用索引或顯示其各自控制器的操作來提供它。

例如,如果您的文章控制器遵循標準CRUD(創建讀取更新銷燬)。你可以在你的config/routes文件中設置「resources:articles」,它會自動爲上面提到的創建/讀取/更新/銷燬操作生成一堆get和post url。然後,可以通過文章控制器的顯示和索引操作來訪問所有新文章文章。第一次使用資源可能會非常棘手,所以一旦設置完成,您可以輸入「rake routes」來查看您創建的所有新路線以及如何到達它們!

1

如果您存儲靜態網頁內容(CRUD)以使其只使用render方法控制器動作show裏面,可以呈現純文本是這樣的:

def show 
    render :text => @post.content.html_safe 
end 

我supossing你有一個名爲post的模型具有用於靜態頁面的屬性content

請注意使用此代碼,因爲直接呈現HTML內容並不安全,只是想要讓一個用戶嘗試將惡意代碼放入靜態頁面內容。