加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 没有控制器名称的Rails 3 URL

发布时间:2020-12-16 21:55:50 所属栏目:百科 来源:网络整理
导读:假设我想在我的网站上建立一个带有Rails 3的博客,这将是我唯一拥有的博客.我想使用Rails来实现它,但我不喜欢Rails产生的URL.我想要这样的网址: example.com/2012/05/10/foo 我不想要像我知道怎么做的东西(使用to_param): example.com/entries/2012/05/10/f
假设我想在我的网站上建立一个带有Rails 3的博客,这将是我唯一拥有的博客.我想使用Rails来实现它,但我不喜欢Rails产生的URL.我想要这样的网址:

example.com/2012/05/10/foo

我不想要像我知道怎么做的东西(使用to_param):

example.com/entries/2012/05/10/foo

我仍然想使用帮手

new_entry_path(@entry) # -> example.com/new
entry_path(@entry) # -> example.com/2012/05/10/foo
edit_entry_path(@entry) # -> example.com/2012/05/10/foo/edit
destroy_entry_path(@entry)
form_for(@entry)
link_to(@entry.title,@entry)

等等.然后,我会发表评论,并希望将它们作为自己的资源进行访问,例如

example.com/2012/05/10/foo/comments/5

那些网址也应该可以与普通的帮助者一起使用:

edit_entry_comment_path(@entry,@comment) # -> example.com/2012/05/10/foo/comments/5/edit

或类似的东西.

那么是否可以获取没有控制器名称的URL并仍然使用url帮助器方法?只需覆盖to_param将始终只更改url中控制器名称后的部分.获得一些示例代码真的很有帮助.

解决方法

您的routes.rb可能有这样的行:
resources :entries

产生表格/ entries / 2012/05/10 / foo的路线.

存在一个:path参数,允许您使用除默认名称条目之外的内容.例如:

resources :entries,:path => 'my-cool-path'

将生成/ my-cool-path / 2012/05/10 / foo形式的路线.

但是,如果我们将空字符串传递给:path,我们会看到您正在寻找的行为:

resources :entries,:path => ''

将生成形式为/ 2012/05/10 / foo的路线.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读