【问题标题】:Find resource by slug in nested resource in rails在 Rails 的嵌套资源中通过 slug 查找资源
【发布时间】:2018-05-17 22:40:18
【问题描述】:

我有以下路线

 resources :shops do
    resources :categories
  end

当我访问这个网址时:

http://localhost:3000/shops/rabin-shop/categories

我首先想通过 slug 'rabin-shop' 找到商店,然后我可以过滤属于该商店的产品类别。在我的控制器中,我尝试实现

    def find_shop
       @shop = Shop.find(params[:slug])
    end

但这不起作用。我知道这不是如何在嵌套资源中找到的。我正在使用friendly_id gem。我无法执行类似 current_user.shop 的操作,因为我希望即使用户未登录也能访问该页面。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 ruby-on-rails-5 friendly-id


    【解决方案1】:

    如果您使用的是 freindly_id gem,这就是您通过它的 slug 找到记录的方式:

     def find_shop
       # params[:shop_id] if nested
       @shop = Shop.friendly.find(params[:id])
     end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-18
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多