Ruby on rails 带有另一个浏览器字符串的Rails应用程序

Ruby on rails 带有另一个浏览器字符串的Rails应用程序,ruby-on-rails,Ruby On Rails,我对rails中的浏览器字符串有一个问题 例如,我有rails应用程序,其中包含路由: resources :posts 该资源将创建: post/:id post/21 post/167 post/356 但是我创建了一个简单的博客,我想将“:id”重命名为 post/some-name post/another-name post/another-different-name 在帖子中,我有标题、文本字段 但我不知道这是怎么做到的 我知道这可以通过操纵:id来实现 你能发布一些关于这

我对rails中的浏览器字符串有一个问题

例如,我有rails应用程序,其中包含路由:

resources :posts
该资源将创建:

post/:id

post/21
post/167
post/356
但是我创建了一个简单的博客,我想将“:id”重命名为

post/some-name
post/another-name
post/another-different-name
在帖子中,我有标题、文本字段 但我不知道这是怎么做到的

我知道这可以通过操纵:id来实现


你能发布一些关于这个问题的详细答案的链接,或者一些简单的例子吗

你为什么要更改/post/:id? 您可以实现类似/post/:id/comments的功能

您可以在routes.rb中使用类似这样的嵌套资源来实现这一点

资源:员额可以 资源:评论 结束

查看此处了解更多详细信息

当然,你可以在URL中放入任何你想要的内容,而且实际上有railcast:

最好(阅读:更容易)在URL中保留model.id,或者这意味着帖子名称必须是唯一的,否则您可以放置任何您想要的内容:

/post/2465-my-pretty-post-name
此外,还有一个gem和相关的railcast:


希望有帮助。

如果您将to_param方法添加到模型中,那么您可以在URL系统中使用它

class SomeModel < ...

  def to_param
    self.title
  end

end

你必须确保你的标题保持唯一性,如果你更改了它,你将不得不放弃所有其他以前的URL或保留旧名称的历史记录。

不,我想要像railscasts brawser string->,但我只能发布“./集/223”-我如何添加”-图表-图表-修订版”要浏览id中的字符串吗?我建议您修改插曲/223/图表。否则,您可以只向routes.rb添加一条路由,如get Epside/223 charts graphs revised。我不认为你能够实现像223 xyz,224 xyz这样的东西,而且构建这样的URL确实很有意义。是的!这就是我想要的——甚至更多。嗯!
before_filter :setup_record

def setup_record
  @record ||= Record.find_by_title(params[:id])
end