![](/img/trans.png)
[英]How to configure Wordpress and Rails app on a Mongrel + Apache server?
[英]How to configure WordPress-like permalinks?
我希望能够在网站的根目录中显示帖子永久链接。 因此,例如,带有永久链接“hello-world”的帖子应该显示为“mysite.com/hello-world”,而不是“mysite.com/posts_controller/hello-world”。
我将如何 go 做这样的事情?
我相信您的帖子 model 中已经有一个“slug”字段。 如果您的帖子 controller 考虑到了这一点,您只需添加正确的路线,例如:
match '/:slug' => "Posts#show"
否则,如果您的 model 中没有 slug,您可以使用Stringex 插件。 这是为您的帖子自动创建 slug 的简单方法。
class Post < ActiveRecord::Base
acts_as_url :title
end
它将根据您的标题创建 slug 并将其保存到 slug 列。
在 controller 您可以找到正确的帖子,如下所示:
def show
@post = Post.find_by_slug(params[:slug])
end
在您的路线中:
match '/:slug' => "Posts#show"
然后在您的 controller 中,您可以执行以下操作:
Post.find_by_slug(params[:slug])
注意:您需要生成此 slug 值并将其存储在Post
model 中。
还可以查看friendly_id ,了解一种久经考验的方法(如果您需要更复杂的东西)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.