在 rails 的嵌套资源中按 slug 查找资源
Find resource by slug in nested resource in rails
我有以下路线
resources :shops do
resources :categories
end
当我访问这个 url:
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 的操作,因为我希望即使用户未登录也能访问该页面。
如果您使用的是 freindly_id gem,这就是您通过 slug 查找记录的方式:
def find_shop
# params[:shop_id] if nested
@shop = Shop.friendly.find(params[:id])
end
我有以下路线
resources :shops do
resources :categories
end
当我访问这个 url:
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 的操作,因为我希望即使用户未登录也能访问该页面。
如果您使用的是 freindly_id gem,这就是您通过 slug 查找记录的方式:
def find_shop
# params[:shop_id] if nested
@shop = Shop.friendly.find(params[:id])
end