2015-06-27 155 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内容并不安全,只是想要让一个用户尝试将恶意代码放入静态页面内容。