ruby-on-rails - Rails 嵌套资源和 :path => "/"

标签 ruby-on-rails ruby ruby-on-rails-3 routes url-routing

我有以下路由,允许使用类似 /:username/:project_name

的 URL
resources :users, :path => "/" do
  resources :projects, :path => "/"
end

问题是 /:username/edit 不起作用,因为它正在寻找名称为“edit”的项目。

有办法解决这个问题吗?谢谢!

最佳答案

执行此操作的几种方法...

1) 会给你类似 /:user_id/:id 的路由(你想要的)

match '/:user_id/edit', :to => 'users#edit', :as => :edit_user
resources :users, :except => [:edit], :path => "/" do
  resources :projects, :path => "/"
end

2)将为您提供诸如 /:user_id/projects/:id 之类的路线(您似乎正在避免这样做)

resources :users, :path => "/" do
  resources :projects
end

我个人更喜欢#2,因为它更干净,并且一目了然地提供更多有关路线的信息。

关于ruby-on-rails - Rails 嵌套资源和 :path => "/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8840269/

相关文章:

ruby-on-rails - Rails-输入类型="file"倍数

ruby-on-rails - 如何使用 Arel 批量插入?

ruby - 正则表达式检查 ruby​​ 中的字母数字字符串

ruby-on-rails - 使用 block 命名和创建实例变量 [Ruby-on-Rails]

ruby-on-rails - 如何检查包含?数组中至少有一个元素,Ruby on Rails

php - 如何让用户编辑网页内容并保存给所有浏览者?

ruby-on-rails - 在 Rails 3 中测试非功能性需求的最佳实践

ruby-on-rails - Assets 预编译错误:未初始化的常量 Mongo::Logging

ruby-on-rails - 如何使用 rspec 和 Ruby 测试父类(super class)方法抛出异常

ruby-on-rails - 在 Rails 中,我可以在不进行 EDIT 操作的情况下修改记录吗?