You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需嵌套模板时,如何从Ember应用调用Rails嵌套路由?

嘿,我把你这段Rails里的嵌套路由和控制器代码整理成清晰的Markdown格式了,方便你查看和复用:

Rails嵌套路由与店铺语言列表接口实现

路由配置(routes.rb)

这里配置了嵌套路由,让shop_languages资源隶属于shops资源之下:

resources :shops do
  resources :shop_languages
end

对应的获取店铺语言列表的接口为:GET /shops/:shop_id/shop_languages

ShopLanguagesController代码(controllers/shop_languages_controller.rb)

控制器通过前置动作先关联到对应的店铺,再返回该店铺下的语言列表:

class ShopLanguagesController < ApplicationController
  before_action :find_shop
  def index
    json_response @shop.shop_languages, :ok, include: 'langua...'
  end

  # 通常你还需要定义私有方法find_shop来获取店铺实例,比如:
  # private
  # def find_shop
  #   @shop = Shop.find(params[:shop_id])
  # end
end

注:find_shop前置动作会根据路由里的:shop_id参数找到对应的店铺实例,这样在index方法中就能直接通过Active Record关联关系,获取该店铺下的所有语言记录,最后用json_response返回JSON格式的响应。

内容的提问来源于stack exchange,提问作者belgoros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:19:31