【问题标题】:Nested resources linking嵌套资源链接
【发布时间】:2014-05-14 21:21:53
【问题描述】:

我有一个带有子类别的类别,并且该子类别有帖子。我想将其链接如下:

/categoryname/subcategoryname/post_id/postname

我已经尝试通过将它放在我的路线中来做到这一点:

  resources :categories do
    resources :subcategories do
      resources :posts
    end
  end

但是任何时候我想通过link_to(subcat.name, category_subcategory_path)为我的子类别(/categoryname/subcategory/)创建一个链接

我明白了:

No route matches {:controller=>"subcategories", :action=>"show"} missing required keys: [:category_id, :id]

我将如何处理以获得所需的链接设置?

提前致谢,

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 routing nested-resources


    【解决方案1】:

    蛞蝓

    首先,如果您想使用slugged routes,您最好查看包括friendly_idslugalicious 在内的gem——基本上允许您管理模型的“slugs”——保存标题或URL 编码格式的其他属性


    路径

    其次,我认为您将通过提供值而不是使用路径助手来解决您的问题。我会这样做:

    link_to subcat.name, category_subcategory_path(category.id , subcat.id)
    

    当您使用path helper 时,它只关心您发送的是哪个params。您使用的路径助手需要您设置 category_idsubcategory_id 参数——您应该将它们传递给路径助手,如上所示

    这将使用id's 创建路径 - 如果您想使用 slugs,您需要使用上述 gem 之一(推荐使用friendly_id)来设置 slugs你的应用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多