我是否必须为每个博客文章创建一个页面



我正在使用数据库从头开始创建一个博客。我知道,如果我在URL中包含主键,我可以轻松地从数据库中检索信息:

www.url.com/entry?id=1

在这种情况下,返回以1的主键存储的信息。我是否也可以检索这些信息,但没有"输入?id ='??

我要实现的是提取相同的信息,但是让URL像

之类的东西
www.url.com/this-is-my-first-entry

有什么方法可以做到吗?还是我必须将其作为文件名创建一个页面?如果是这样,是否有一种方法可以让我的网站自动为每个新条目创建页面?

不,您不必每个URL创建一个页面。

本质上,/entry?id=1/this-is-my-first-entry与Web服务器相同。这只是一条路径,服务器不在乎如何处理。

是您的代码必须处理此操作(或者是路由选择框架的组件的规则)。

在铁轨中,这是不费吹灰之力的。这是路由规则。

get '/:page' => 'pages#show'

如果您有此规则,则可以使用任何名称,/this-is-my-first-page/hello-world/you-wont-believe-what-happened-next请求页面。都具有相同的规则。页面"名称"将映射到参数page。然后,您将参数 page视为对待 id(从数据库中或其他任何数据库获取页面)。

最新更新